首页 > 每日一道算法题,坚持成长
头像
阿里高德内推
编辑于 2020-10-26 14:38
+ 关注

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

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


全部评论

(19) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐