两数之和
思路:
- 1、 两层For循环,暴力解题
class Solution {
public int[] twoSum(int[] nums, int target) {
for(int i = 0 ;i<nums.length;i++){
for(int j=i+1;j<nums.length;j++){
if(nums[i]+nums[j]==target){
return new int[]{i,j};
}
}
}
return new int[0];
}
}
- 2、通过map来解决
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer,Integer> hashmap = new HashMap();
for(int i =0;i< nums.length;i++){
if(hashmap.containsKey(target-nums[i])){
return new int[]{hashmap.get(target-nums[i]),i};
}
hashmap.put(nums[i],i);
}
return new int[0];
}
}