【刷算法】LeetCode- 两数之和
题目描述
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 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- 两数之和相关推荐
- LeetCode/LintCode 题解丨一周爆刷双指针: 两数之和
描述 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是 0 到 n-1. ...
- 算法笔记-两数之和、三数之和、四数之和(LeetCode)
两数之和 1.两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...
- 求翻转数循环结构C语言,[LeetCode Easy题快一起刷起来] 1. 两数之和 7. 整数翻转
毕设答辩顺利通过啦~ 争取每日两道Easy题,快来一起学习吧~ 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,在该数组中找出和为目标值的那两个整数,并返回他们的数组下标. 可 ...
- Android面试中常问的几种简单算法(两数之和、开灯、上楼梯、柠檬水、找最多的数)
大家好,最近在面试,大小公司可能都会问一两个算法,来测试面试者的算法能力.本篇博客从笔者被问到的几个简单算法来给大家分享一下,(面试官会根据面试者的能力,提问不同难度,这篇的分享是比较简单的,大神可忽 ...
- 【每日一算法】两数之和 IV - 输入 BST
微信改版,加星标不迷路! 每日一算法-两数之和IV-输入BST 作者:阿广 阅读目录 1 题目 2 解析 1 题目 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目 ...
- leetcode 两数之和 整数反转 回文数 罗马数字转整数
1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个 ...
- 力扣算法001_两数之和
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素 ...
- leetcode两数之和
#####两数之和 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15 ...
- leetcode两数之和,三数之和,四数之和问题
1. 两数之和 遍历数组的同时,使用字典(哈希表)记录数对应的索引,对于每一个数nums[i],判断 target-nums[i]是否在字典中,找到一个即返回.若列表中的与元素有重复也可这样处理,因为 ...
- 学渣的刷题之旅 leetcode刷题 1.两数之和
给定一个整数数组nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素 ...
最新文章
- 服务器设备监控系统,服务器设备监控系统
- WPF 4 开发Windows 7 跳转列表(JumpList)
- hdu-2209 dfs
- JavaScript基础(五分钟让你了解js全貌)
- 一致性hash算法虚拟节点_一致性 Hash 算法
- 马哥linux2018目录,2018-01-02 马哥Linux学习笔记—Linux系统基础使用入门
- java 编写浏览器_用Java自己写一个浏览器 —— JavaFX 入门
- 尚硅谷ssm整合实战项目笔记
- 我在Facebook工作四年的总结与反思
- extern关键字作用
- 女生适合干【长期第一线编程工作】 男生能干的女生照样可以做的更好
- go学习笔记之bufio的使用
- 英语语言学u c,英语语言学资料(一)
- 交换机中的生成树,是什么树?
- Stanford CS224n 第一讲:深度自然语言处理
- 扎克伯格:2030年如果VR未成为主流办公设备,我会很惊讶
- 秒表计时器怎么读_秒表怎么读数
- PythonPyCharm
- 如何最大限度地提高您的记忆力
- Lenovo Thinkpad T400在BIOS中开启VT虚拟化后无法生效?
热门文章
- wps 2016 个人版 重新开始编号
- 虚拟文件系统(VFS)
- 将博客搬至51CTO
- ORACLE SQL: 经典查询练手第二篇
- 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录
- SMS主站点配置详细图解:Sms2003系列之二
- UESTC 1726 整数划分(母函数)
- 1.试述大数据对思维方式的重要影响。 2.详细阐述大数据、云计算、物联网之间的区别与联系。 3.简述你对大数据应用与发展的看法,以及你在这次大数据浪潮中想扮演什么角色。...
- 前端技术学习之选择器(一)
- ASP.NET MVC自定义ActionResult实现文件压缩