LC 1 Two Sum
- Implementation
- Tests
// 1. Two Sum
// https://leetcode.com/problems/two-sum/description/
// Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
// You may assume that each input would have exactly one solution, and you may not use the same element twice.
// You can return the answer in any order.
// Example 1:
// Input: nums = [2,7,11,15], target = 9
// Output: [0,1]
// Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
// Example 2:
// Input: nums = [3,2,4], target = 6
// Output: [1,2]
// Example 3:
// Input: nums = [3,3], target = 6
// Output: [0,1]
const twoSum = (nums, target) => {
const indexByValue = new Map();
for(let i=0;i<nums.length;i++){
let currentNum = nums[i];
let targetNum = target-currentNum;
if(indexByValue.has(targetNum)){
return [i,indexByValue.get(targetNum)]
}
indexByValue.set(currentNum,i);
}
};
console.log(twoSum([2,7,11,15],9));
console.log(twoSum([3,2,4],6));
console.log(twoSum([3,3],6));
// Test stub for 01.TwoSum
describe('01.TwoSum', () => {
it('should have a test stub', () => {
expect(true).toBe(true);
});
});