Leetcode Array 1: Two Sum - Recap and Tips for Success ๐Ÿ„๐Ÿš€๐Ÿช

Leetcode Array 1: Two Sum - Recap and Tips for Success ๐Ÿ„๐Ÿš€๐Ÿช

ยท

2 min read

const nums = [2, 7, 11, 15];
const target = 9;

const twoSum = function(nums, target) {
  const hashTable = {};
  //created a hashtable
  for (let i = 0; i < nums.length; i++) {

      if (hashTable[target - nums[i]] !== undefined) {
          return [hashTable[target - nums[i]], i];
      }
      hashTable[nums[i]] = i;
  }
 };

console.log(twoSum(nums, target));

if (hashTable[target - nums[i]] != undefined) {}

this line of code checks whether the complement of the current number nums[i] (i.e., target - nums[i]) exists in the hashTable object.

In the twoSum function, this line of code checks whether the complement of the current number nums[i] (i.e., target - nums[i]) exists in the hashTable object.

Here's what's happening:

  1. We calculate the complement of the current number by subtracting it from the target value: target - nums[i].

  2. We look up the value of the hashTable[target - nums[i]] property, which corresponds to the complement of the current number. If this property is not defined (i.e., hashTable[target - nums[i]] == undefined), then the complement does not exist in the hash table and we move on to the next number in the array.

  3. If the complement does exist in the hash table, then we have found a pair of numbers that add up to the target value. We can return an array containing the indices of the two numbers ([hashTable[target - nums[i]], i]).

The != operator checks whether the value on the left-hand side is not equal to the value on the right-hand side. In this case, we are checking whether hashTable[target - nums[i]] is not equal to undefined. If it is not undefined, then the complement of the current number exists in the hash table and we can return the indices of the two numbers.

Did you find this article valuable?

Support TopGun by becoming a sponsor. Any amount is appreciated!

ย