当前位置: 首页 > news >正文

js 算法题 在数组中找出和为目标值 target 的那 两个 整数,并返回它们的数组下标

题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

var list = [2, 7, 11, 15];

var target = 26

方法1:双重for循环

 function sumTest() {for (let i = 0, len = list.length; i < len; i++) {// 下标 +1for (let n = i + 1; n < len; n++) {if (list[i] + list[n] === target) {return [i, n];}}}
}
console.log(sumTest()); // [2,3]

 方法2:new Map() 

 function sumTest() {const map = new Map();for (let i = 0, len = list.length; i < len; i++) {// 判断是否是map中的数据if (map.has(target - list[i])) {return [map.get(target - list[i]), i];}// 如果不是 使用 set 方法添加进去 map.set(list[i], i);}return [];
}
console.log(sumTest());

方法3:递归

 function sumTest(i) {// 计算出差值var num = target - list[i]; // find 方法查询数组总是否有 差值var diffNum = list.find((item) => item == num);if (diffNum == undefined) {// 没有就返回继续执行这个函数 下标 + 1return sumTest(i + 1);} else {var  array = [i, list.indexOf(diffNum)];}return array;
}
console.log(sumTest(0)); // [2,3]

http://www.lryc.cn/news/307505.html

相关文章:

  • 基于springboot接口的编写
  • 【HarmonyOS】鸿蒙开发之Video组件——第3.7章
  • React引入css的几种方式以及应用
  • [算法沉淀记录] 排序算法 —— 冒泡排序
  • 【机器人最短路径规划问题(栅格地图)】基于遗传算法求解
  • 如何做代币分析:以 TRX 币为例
  • 关于地址引用与值引用的坑
  • 初谈软件工程(一)
  • 自动化开展思路
  • 安装使用zookeeper
  • nginx实现http反向代理及负载均衡
  • vue组件中data为什么必须是一个函数
  • 科技论文编写思路
  • Windows虚拟机克隆后修改SID
  • 前端架构: 脚手架工具rxjs的快速上手应用
  • 小程序框架(概念、工作原理、发展及应用)
  • 音视频数字化(数字与模拟-电影)
  • 在 Ubuntu 中, 使用 fsck 命令来修复磁盘文件系统
  • LED电子显示屏连接方式解析
  • Mysql运维篇(五) 部署MHA--主机环境配置
  • Offer必备算法09_分治快排_四道力扣OJ(快排三路划分)
  • Linux下性能分析的可视化图表工具
  • 泽攸科技JS系列高精度台阶仪在半导体领域的应用
  • c++实现栈和队列类
  • MySQL优化之索引下推
  • 【Java程序设计】【C00338】基于Springboot的银行客户管理系统(有论文)
  • C语言中大小写字母的转化
  • Camunda7.18流程引擎启动出现Table ‘camunda_platform_docker.ACT_GE_PROPERTY‘的解决方案
  • 红队打靶:DR4G0N B4LL打靶思路详解(vulnhub)
  • SQL Server添加用户登录