Given an array of integers, return indices of the both numbers such that they add-to a specific target.
You may assume this each input would has exactly one solution, and you could not use the same element twice.
Given an array of integers, the index of two numbers is returned so that they are added to a specific target value. You can assume that each input has only one solution, and you may not use the same element two times. )
Example:
Given nums = [2, 7, one, 2], target = 9,because nums[0] + nums[1] = + 7 = 9,return [0, 1]
Code implementation: (Reference)
1 ImportJava.util.HashMap; 2 ImportJava.util.Map; 3 4 Public classSolution {5 Public Static int[] Twosum (int[] Nums,inttarget) { 6 int[] result =New int[2]; 7map<integer,integer> map =NewHashMap (); 8 for(inti=0; i<nums.length; i++){ 9 if(Map.containskey (Target-Nums[i])) { Ten if(Map.get (target-nums[i]) >i) { OneResult[0] =i; ARESULT[1] = Map.get (Target-Nums[i]); -}Else{ -RESULT[1] =i; theResult[0] = Map.get (Target-Nums[i]); - } - returnresult; - } + Map.put (Nums[i], i); - } + returnresult; A } at - Public Static voidMain (string[] args) { - int[] Nums = {3,2,4}; - inttarget = 6; - int[] result =New int[2]; -result =twosum (Nums,target); inSystem.out.println (Result[0] + "" + result[1]); - } to}
Leetcode algorithm Problem--the first day of brush problem