第一思路(失败),双层for循环
public int[] towSum(int[] nums,int target){
int[] arr = new int[2];
for (int i = 0;i<nums.length;i++){
for(int j = 0;j<nums.length;j++){
if(nums[i] + nums[j] == target){
arr[0] = i;
arr[1] = j;
return arr;
}
}
}
return arr;
}
第二思路(成功),先遍历一遍数组,没遍历到一个数字,就用和减去当前数字,然后再遍历一遍看这个数字是否存在,最后返回结果
public int[] twoSum(int[] nums, int target) {
int[] arr = new int[2];
int index = 0;
for(int n:nums){
int l = index++;
int i = target-n;
int index1 = 0;
for(int n1:nums){
int r = index1++;
if(i == n1){
arr[0] = l;
arr[1] = r;
if(l == r){
break;
}
return arr;
}
}
}
return arr;
}