public int[] twoSum(int[] nums, int target) {
int ans[] = new int[2];
for(int i=0;i<nums.length;i++){
int tmp = target-nums[i];
for(int j=0;j<nums.length;j++){
if(j!=i&&nums[j]==tmp){
ans[0]=i;
ans[1]=j;
break;
}
}
}
return ans;
}
Map寫法
public int[] twoSum(int[] nums, int target) {
HashMap<Integer,Integer> map = new HashMap();
int ans[] = new int[2];
for(int i=0;i<nums.length;i++){
int diff = target-nums[i];
if(map.containsKey(diff)){
ans[0] = map.get(diff);
ans[1] = i;
break;
}else{
map.put(nums[i],i);
}
}
return ans;
}
沒有留言:
張貼留言