Title: |
The Sum of |
Pass Rate: |
17.9% |
Difficulty: |
Medium |
Given an array of integers, find the numbers such that they add up to a specific target number.
The function twosum should return indices of the numbers such that they add up to the target, where index1 must is Les S than Index2. Please note that your returned answers (both Index1 and INDEX2) is not zero-based.
You may assume this each input would has exactly one solution.
Input:numbers={2, 7, one, A, target=9
Output:index1=1, index2=2
Use map to store traversed elements, and then each time to see if there is a target element. If there is a find complete, note that the description of the problem is starting from 1, the code is as follows:
1 Public classSolution {2 Public int[] Twosum (int[] numbers,inttarget) {3Map<integer,integer> map=NewHashmap<integer,integer>();4 for(inti=0;i<numbers.length;i++){5 intx=Numbers[i];6 if(Map.containskey (target-x)) {7 return New int[]{map.get (Target-x) +1,i+1};8 }9 Map.put (x,i);Ten } One return NULL; A - } -}
Leetcode------and Sum