暴力解法
运行时间68ms
class Solution {
public int[] twoSum(int[] nums, int target) {
int n=nums.length;
int[] ans=new int[2];
ans[0]=ans[1]=-1;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(nums[i]+nums[j]==target){
ans[0]=i;
ans[1]=j;
break;
}
}
if(ans[0]!=-1)break;
}
return ans;
}
}
利用JAVA自带的HashMap求解
运行时间2ms
class Solution {
public int[] twoSum(int[] nums, int target) {
int n=nums.length;
int[] ans=new int[2];
HashMap<Integer,Integer>map=new HashMap();
for(int i=0;i<n;i++){
int sub=target-nums[i];
if(map.containsKey(sub)){
ans[0]=map.get(sub);
ans[1]=i;
break;
}
map.put(nums[i],i);
}
return ans;
}
}