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

示例1:

输入:nums=[2,7,11,15] target =9

输出:[0,1]

方法一:
思路:我们可以通过反复遍历,先让外层循环代表第一个数,随后内层循环代表第二个数,第一个数不变,找是否有第二个数与第一个数相加等于target,如果没有,那么外层循环继续,从而内层循环也继续,直到找到相加为target值得那两个数,注意内层循环=外层循环加1,因为不能是本身的一个数,相加等于target

<script>// *********************第一种***************************let nums = [3, 3];function getSum(nums, target) {for (let i = 0; i < nums.length; i++) {for (let j = i + 1; j < nums.length; j++) {if (nums[i] + nums[j] == target) return [i, j];}}}let num = getSum(nums, 6);console.log(num);// *********************第二种***************************// 思路:let nums = [3, 3];let target = 6;function getSum(nums, target) {map = new Map();for (let i = 0; i < nums.length; i++) {x = target - nums[i];if (map.has(x)) return [map.get(x), i];}map.set(nums[i], i);}</script>

方法二:
思路:可以通过target值,用逆向解法,用target减去某个元素值,然后来判断map中是否有相同的值
注: 用js中的map对象map(数组元素值,坐标)
map.has(key)->map中是否存在key返回boolean
map.get(key)->返回map中的value值

 // *********************第二种***************************let nums = [3, 3];let target = 6;function getSum(nums, target) {map = new Map();for (let i = 0; i < nums.length; i++) {x = target - nums[i];if (map.has(x)) return [map.get(x), i];}map.set(nums[i], i);}

算法-查找数组两个数据相加等于目标值相关推荐

  1. 数组两个整数相加 c语言,作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)...

    题目描述 给定一个整数数组,找出其中两个数相加等于目标值 输入 [1,3,5,7,9,11] 10 输出 1,9 3,7 代码: import java.util.HashMap; import ja ...

  2. 作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)

    题目描述 给定一个整数数组,找出其中两个数相加等于目标值输入 [1,3,5,7,9,11] 10输出 1,9 3,7 代码: import java.util.HashMap; import java ...

  3. 阿里开发者招聘节 | 面试题14:如何实现两金额数据相加(最多小数点两位)

    为帮助开发者们提升面试技能.有机会入职阿里,云栖社区特别制作了这个专辑--阿里巴巴资深技术专家们结合多年的工作.面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案将在专辑结束后统一汇总 ...

  4. 汇编语言---子程序设计举例(两组数据相加)

    汇编语言---子程序设计举例(两组数据相加) 配置环境 要求 编辑程序 运行程序 后续 配置环境 首先双击下载程序进行下载.(没有安装程序的,可以下载我为大家准备的安装文件.) 不会安装的可以看一下文 ...

  5. C语言:使用冒泡算法将数组中的数据从大到小进行排序

    /*使用冒泡算法将数组中的数据从大到小进行排序*/ #include<stdio.h> #define N 5 int main() {int a[N];int i,j,t;printf( ...

  6. 相加等于目标值的两个数

    题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标. 题目保证只有一种答案,但是要求给定数组 nums ...

  7. java 相加 等于一个数_Java 集合、数组 任意个数数字相加等于一个指定的数

    一组数字 任意个数数字相加的和等于指定的数字.  比如数字集合 1,2,3, 4,5,6  ,列出所有数字相加等于6的可能性,那么结果有:1+2+3,2+4, 主要这里的结果不是数组打乱顺序相加,而是 ...

  8. python两列数据相加_pandas的两个DataFrame相加

    最近在使用Python的pandas库时,涉及到需要往一个DataFrame添加一些噪声,噪声可以使用numpy的随机函数完成.但是相加时出现了问题. 一.环境 windows 7 64bit Pyt ...

  9. 阿里开发者招聘节 | 面试题14:如何实现两金额数据相加(最多小数点两位)...

    摘要: 阿里巴巴资深技术专家们结合多年的工作.面试经验总结提炼而成的笔试真题这一次将陆续放出(面试题答案将在专辑分享结束后统一汇总分享).并通过这些笔试真题开放阿里巴巴工作机会,让更多的开发者加入到阿 ...

最新文章

  1. Python常用操作记录
  2. java编程控制电脑硬件_如何快速学习AP计算机中的Java编程?
  3. 如何对SAP Leonardo上的机器学习模型进行重新训练
  4. 查看Linux进程CPU过高具体的线程堆栈(不中断程序)
  5. root 授予oracle权限,oracle – 列出具有root(管理)权限的用户
  6. javascript和python的关系_JavaScript是否越来越像Python?
  7. eclipse.ini配置eclipse的启动参数
  8. 超越cookie - 使用DOM sessionStorage和localStorage来保存更多信
  9. Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you‘re try
  10. 鼠标锁定计算机全部硬盘,最牛B的清理磁盘方法,让你电脑开机贼拉快快
  11. 微信小程序switch 样式重写
  12. 【书影观后感 十三】甲申三百七十八年祭
  13. ABAP 关于 delete adjacent duplicates from的小心得
  14. matlab 求解高次方程,Matlab求解多元高次方程组
  15. 让图片动起来——Real_Time_Image_Animation
  16. 智能手表的机遇与挑战
  17. 董淳光 - SQLITE3 使用总结
  18. gardner环 matlab,HighSpeedLogic专题:位同步Gardner环的研究
  19. 关于opencv中cvtcolor函数的code参数用CV_BGR2YUV与CV_BGR2YCrCb的了解
  20. BFF在SoundCloud中的实践(翻译)

热门文章

  1. 【转】基础知识系列2--线性表之链表
  2. SharePoint2010 对象模型 关联列表
  3. [10月4日的脚本] 获取Office365邮箱文件夹的权限
  4. 2022年,ICPC比赛、CCPC比赛、CCF-CSP考试、蓝桥杯比赛、天梯赛日程
  5. UVA11313 Gourmet Games【数学】
  6. HDU1642 UVA167 UVALive5227 The Sultan's Successors题解
  7. 语言模型(Language Modeling)与统计语言模型
  8. 【读书笔记】—— 《马克思恩克斯全集》
  9. 潜意识、读懂行为、说服的艺术
  10. Linux 实用命令