1. 两数之和
方法1
数组循环
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
第二种方法采用哈希表
class Solution {
public int[] twoSum(int[] nums, int target){
Map<Integer,Integer> map=new HashMap<Integer,Integer>();
for(int i=nums.length-1;i>=0;i--){
int num1=target-nums[i];
if(map.containsKey(num1)){
return new int[] {i,map.get(num1)};
}else{
map.put(nums[i],i);
}
}
return new int[0];
}
}