每日一道算法题,坚持成长

1.两数之和(简单难度)

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

示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

解题思路

利用数组存储差值的索引位来减少一次遍历,降低时间复杂度为O(n);

解法:

var twoSum = function(nums, target) {
let i = 0;
let temp = [];
while (i < nums.length) {
let num = target - nums[i];
if(temp[num] != undefined) {
return [temp[num],i];
}
temp[nums[i]] = i
i ++;
}
};


#陌陌##笔试题目#
全部评论
坚持学习
24 回复 分享
发布于 2020-10-26 14:34
每天一小步 时间长了才能看得到的变化
24 回复 分享
发布于 2020-10-26 14:37
var twoSum = function(nums, target) {     var list = [];     for(var i=0;i<nums.length;i++){         let a = target - nums[i];         if(list[a] != undefined){             return [list[a],i]         }         list[nums[i]] = i;     } };
24 回复 分享
发布于 2020-10-26 14:37
楼主随时可以内推  请查看楼主内推帖子
18 回复 分享
发布于 2020-10-29 16:12
顶一下
9 回复 分享
发布于 2021-03-04 14:15
继续顶帖 坚持成长
9 回复 分享
发布于 2021-03-04 14:21
加油
8 回复 分享
发布于 2020-10-26 14:39
学习
6 回复 分享
发布于 2020-10-26 20:40
学习到了
5 回复 分享
发布于 2020-10-27 16:28
挺好
5 回复 分享
发布于 2020-10-28 12:06
学习
4 回复 分享
发布于 2020-10-29 13:30
很好
4 回复 分享
发布于 2020-10-30 13:20
你真厉害
4 回复 分享
发布于 2020-10-30 14:09
向你学习 加油加油加油
3 回复 分享
发布于 2020-10-30 17:56
厉害楼主
2 回复 分享
发布于 2020-10-30 19:18
很棒
2 回复 分享
发布于 2020-10-30 23:22
你真厉害
2 回复 分享
发布于 2020-10-31 07:09
加油
2 回复 分享
发布于 2020-10-31 12:05
加油楼主
1 回复 分享
发布于 2020-10-31 20:55

相关推荐

沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
评论
23
23
分享
牛客网
牛客企业服务