package myself;
import java.util.Arrays;
import java.util.Scanner;
/求数组中两数之和
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]/
public class And {
public static void main(String[] args) {
int[] nums = { 2, 7, 11, 15 };
int target = 5;
int[] a = twoSum(nums, target);
System.out.println(Arrays.toString(a));
}
public static 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};
}
}
}
// int[] a=new int[0];
// for (int i = 0; i < nums.length; i++) {
// for (int j = i + 1; j < nums.length; j++) {
// if (nums[i] + nums[j] == target) {
// a=Arrays.copyOf(a, a.length+2);
// a[a.length-2]=i;
// a[a.length-1]=j;
// }
// }
// }
// return a;
throw new IllegalArgumentException(“No two sum solution”);
}
}