Two Sum is the question from leetcode with the difficulty level of easy and asked in many interviews including FAANG companies. 

The question for an algorithm is, 

Given an array of integer nums and an integer target, return indices of the two numbers such that they add up to the 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]

Explanation: Because nums[1] + nums[2] == 6, we return [1,2].


Example 3:

Input: nums = [3,3], target = 6

Output: [0,1]

Explanation: Because nums[0] + nums[1] == 6, we return [0,1].


Let's start with the algorithm:


var twoSum = function(nums, target) {

 for(i=0;i<nums.length;++i)

 {

    for(j=i+1;j<nums.length;j++)

  {

        if(nums[i]+nums[j]==target)

  return [i,j]

  }

   }

  return [-1,-1]

};


We have used this approach with two for loops to add two numbers and match them with the target value and return the array of elements of nums whose combination will produce the required output.


I hope you understood the Algorithm, if you have any doubts about the above algorithm please let us know in the comments.