题目描述

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
复制代码

分析

第一感觉是和我之前做过的题类似,就想先排序然后左右指针来夹逼,后面一想,排序之后数组下标就乱了,所以这个方法不行
考虑到可以使用一个map,存储的键值对为:target-val:index,也就是对于数组中的每一个数字,存下它和target的差距以及它的下标。

/*** @param {number[]} nums* @param {number} target* @return {number[]}*/
var twoSum = function(nums, target) {if(nums === null || nums.length < 2)return [];var map = {};for(var i = 0;i < nums.length;i++) {map[target-nums[i]] = i;}for(var i = 0;i < nums.length;i++) {var cur = nums[i];if(map[cur] && map[cur] !== i)return [i, map[cur]];}return [];
};复制代码

【刷算法】LeetCode- 两数之和相关推荐

  1. LeetCode/LintCode 题解丨一周爆刷双指针: 两数之和

    描述 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是 0 到 n-1. ...

  2. 算法笔记-两数之和、三数之和、四数之和(LeetCode)

    两数之和 1.两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...

  3. 求翻转数循环结构C语言,[LeetCode Easy题快一起刷起来] 1. 两数之和 7. 整数翻转

    毕设答辩顺利通过啦~ 争取每日两道Easy题,快来一起学习吧~ 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,在该数组中找出和为目标值的那两个整数,并返回他们的数组下标. 可 ...

  4. Android面试中常问的几种简单算法(两数之和、开灯、上楼梯、柠檬水、找最多的数)

    大家好,最近在面试,大小公司可能都会问一两个算法,来测试面试者的算法能力.本篇博客从笔者被问到的几个简单算法来给大家分享一下,(面试官会根据面试者的能力,提问不同难度,这篇的分享是比较简单的,大神可忽 ...

  5. 【每日一算法】两数之和 IV - 输入 BST

    微信改版,加星标不迷路! 每日一算法-两数之和IV-输入BST 作者:阿广 阅读目录 1 题目 2 解析 1 题目 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目 ...

  6. leetcode 两数之和 整数反转 回文数 罗马数字转整数

    1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个 ...

  7. 力扣算法001_两数之和

    1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素 ...

  8. leetcode两数之和

    #####两数之和 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15 ...

  9. leetcode两数之和,三数之和,四数之和问题

    1. 两数之和 遍历数组的同时,使用字典(哈希表)记录数对应的索引,对于每一个数nums[i],判断 target-nums[i]是否在字典中,找到一个即返回.若列表中的与元素有重复也可这样处理,因为 ...

  10. 学渣的刷题之旅 leetcode刷题 1.两数之和

    给定一个整数数组nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素 ...

最新文章

  1. 服务器设备监控系统,服务器设备监控系统
  2. WPF 4 开发Windows 7 跳转列表(JumpList)
  3. hdu-2209 dfs
  4. JavaScript基础(五分钟让你了解js全貌)
  5. 一致性hash算法虚拟节点_一致性 Hash 算法
  6. 马哥linux2018目录,2018-01-02 马哥Linux学习笔记—Linux系统基础使用入门
  7. java 编写浏览器_用Java自己写一个浏览器 —— JavaFX 入门
  8. 尚硅谷ssm整合实战项目笔记
  9. 我在Facebook工作四年的总结与反思
  10. extern关键字作用
  11. 女生适合干【长期第一线编程工作】 男生能干的女生照样可以做的更好
  12. go学习笔记之bufio的使用
  13. 英语语言学u c,英语语言学资料(一)
  14. 交换机中的生成树,是什么树?
  15. Stanford CS224n 第一讲:深度自然语言处理
  16. 扎克伯格:2030年如果VR未成为主流办公设备,我会很惊讶
  17. 秒表计时器怎么读_秒表怎么读数
  18. PythonPyCharm
  19. 如何最大限度地提高您的记忆力
  20. Lenovo Thinkpad T400在BIOS中开启VT虚拟化后无法生效?

热门文章

  1. wps 2016 个人版 重新开始编号
  2. 虚拟文件系统(VFS)
  3. 将博客搬至51CTO
  4. ORACLE SQL: 经典查询练手第二篇
  5. 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录
  6. SMS主站点配置详细图解:Sms2003系列之二
  7. UESTC 1726 整数划分(母函数)
  8. 1.试述大数据对思维方式的重要影响。 2.详细阐述大数据、云计算、物联网之间的区别与联系。 3.简述你对大数据应用与发展的看法,以及你在这次大数据浪潮中想扮演什么角色。...
  9. 前端技术学习之选择器(一)
  10. ASP.NET MVC自定义ActionResult实现文件压缩