mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 20:40:39 +08:00
添加“1.两数之和”javascript版本
This commit is contained in:
@ -37,9 +37,9 @@ https://leetcode-cn.com/problems/two-sum/
|
|||||||
本题呢,则要使用map,那么来看一下使用数组和set来做哈希法的局限。
|
本题呢,则要使用map,那么来看一下使用数组和set来做哈希法的局限。
|
||||||
|
|
||||||
* 数组的大小是受限制的,而且如果元素很少,而哈希值太大会造成内存空间的浪费。
|
* 数组的大小是受限制的,而且如果元素很少,而哈希值太大会造成内存空间的浪费。
|
||||||
* set是一个集合,里面放的元素只能是一个key,而两数之和这道题目,不仅要判断y是否存在而且还要记录y的下表位置,因为要返回x 和 y的下表。所以set 也不能用。
|
* set是一个集合,里面放的元素只能是一个key,而两数之和这道题目,不仅要判断y是否存在而且还要记录y的下标位置,因为要返回x 和 y的下标。所以set 也不能用。
|
||||||
|
|
||||||
此时就要选择另一种数据结构:map ,map是一种key value的存储结构,可以用key保存数值,用value在保存数值所在的下表。
|
此时就要选择另一种数据结构:map ,map是一种key value的存储结构,可以用key保存数值,用value在保存数值所在的下标。
|
||||||
|
|
||||||
C++中map,有三种类型:
|
C++中map,有三种类型:
|
||||||
|
|
||||||
@ -156,6 +156,21 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Javascript
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
var twoSum = function (nums, target) {
|
||||||
|
let hash = {};
|
||||||
|
for (let i = 0; i < nums.length; i++) {
|
||||||
|
if (hash[target - nums[i]] !== undefined) {
|
||||||
|
return [i, hash[target - nums[i]]];
|
||||||
|
}
|
||||||
|
hash[nums[i]] = i;
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user