Leetcode 1 Two Sum Solution in Java | Hindi Coding Community

0

 

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.

You have to write a code for this problem. We have implemented the code in Java Language. Hindi Coding Community provides you the best solutions of this problem. 

 

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]

 

Constraints:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • Only one valid answer exists.

Java Solution :


class Solution {
public int[] twoSum(int[] nums, int target) {
int length = nums.length;
int result[] = new int[2];
for(int i = 0; i < length-1; i++) {
for(int j = i+1; j < length; j++) {
if(target == nums[i] + nums[j]) {
result[0] = i;
result[1] = j;
}
}
}
return result;
}
}


The solution we have used is not an efficient solution . Its time complexity is O(n^2).

Lets try another solution using hashmap.

Java HashMap Solution :


class Solution {

    public int[] twoSum(int[] nums, int target) {
    HashMap<Integer,Integer> hm=new HashMap<Integer,Integer>();
    for(int i=0;i<nums.length;i++){
if(hm.containsKey(target-nums[i])){
return new int[]{hm.get(target-nums[i]),i};
}
    hm.put(nums[i],i);
    }
    return null;
    }
}


If you want to write articles for us please contact at hindicodingcommunity@gmail.com 




Post a Comment

0Comments
Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !