Two sum problem: Given an array of integers, return indices of the two...

The "two sum problem" is a classic problem in computer science that involves finding two numbers in an array that add up to a given target. This problem can be solved using a simple brute -force approach, but more efficient solutions exist, such as using a hash table.

Problem

Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

Solution

This solution is in JavaScript. Our A.I. can create solutions in multiple languages.
by kayakane
// Solution:
// The optimal solution is to use a hash table to store the numbers in the array as keys and their indices as values.
// Then, we can iterate through the array and check if the target minus the current number is in the hash table.
// If it is, we return the indices of the current number and the target minus the current number.
// This solution is optimal because it has a time complexity of O(n) and a space complexity of O(n).

const twoSum = (nums, target) => {
  const 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([2, 7, 11, 15], 9)); // [0, 1]

A.I. Evaluation of the Solution

The candidate's solution is correct and demonstrates a level of completeness. The candidate has correctly identified the problem and has provided a solution that solves the problem. The candidate's approach is general and could be applied to similar problems.

Evaluated at: 2022-12-02 16:15:42