Appearance
两数之和 / twoSum
题目描述
给定一个整数数组 nums 和一个整数目标值 target,找出和为目标值 target 的那 两个 整数,并返回它们的数组下标。
Code
javascript
function twoSum(nums, target) {
const map = new Map();
let result = [];
nums.forEach((item, index) => {
if (map.has(item)) {
result = [map.get(item), index];
} else {
// 需要的值作为 key, 自身索引作为 值
const key = target - item;
map.set(key, index);
}
});
return result;
}
Test Cases
javascript
const { twoSum } = require('../docs/algo/number/twoSum');
describe('twoSum', () => {
it('case1', () => {
expect(twoSum([2, 7, 11, 15], 9)).toEqual([0, 1]);
});
it('case2', () => {
expect(twoSum([3, 3], 6)).toEqual([0, 1]);
});
});