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

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 ++;
}
};


#陌陌##笔试题目#
全部评论
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
每天一小步 时间长了才能看得到的变化
24 回复 分享
发布于 2020-10-26 14:37
坚持学习
24 回复 分享
发布于 2020-10-26 14:34
楼主随时可以内推  请查看楼主内推帖子
18 回复 分享
发布于 2020-10-29 16:12
继续顶帖 坚持成长
9 回复 分享
发布于 2021-03-04 14:21
顶一下
9 回复 分享
发布于 2021-03-04 14:15
加油
8 回复 分享
发布于 2020-10-26 14:39
学习
6 回复 分享
发布于 2020-10-26 20:40
挺好
5 回复 分享
发布于 2020-10-28 12:06
学习到了
5 回复 分享
发布于 2020-10-27 16:28
你真厉害
4 回复 分享
发布于 2020-10-30 14:09
很好
4 回复 分享
发布于 2020-10-30 13:20
学习
4 回复 分享
发布于 2020-10-29 13:30
向你学习 加油加油加油
3 回复 分享
发布于 2020-10-30 17:56
加油
2 回复 分享
发布于 2020-10-31 12:05
你真厉害
2 回复 分享
发布于 2020-10-31 07:09
很棒
2 回复 分享
发布于 2020-10-30 23:22
厉害楼主
2 回复 分享
发布于 2020-10-30 19:18
加油楼主
1 回复 分享
发布于 2020-10-31 20:55

相关推荐

不愿透露姓名的神秘牛友
09-23 14:18
京✌们还有比我低的吗
迷茫的大四🐶:这工资还能干下去怕不是体制内哦,要不然我想不出来留下来的理由
点赞 评论 收藏
分享
头像 会员标识
08-20 18:46
门头沟学院 C++
投递华为技术有限公司等公司10个岗位
点赞 评论 收藏
分享
评论
23
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务