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

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

相关推荐

11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳&nbsp;&nbsp;yidao,试用期&nbsp;6&nbsp;个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
评论
23
23
分享
牛客网
牛客企业服务