1.题目
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution.
Example:
Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0,1].
2.解答
` ` `
public class Solution {
public static int[] twoSum(int[] nums, int target) {
int a[] = new int[2];
int i = 0;
int b[] = new int[nums.length];
for (int h = 0; h < nums.length; h++) {
b[h] = nums[h];
}
int j = nums.length - 1;
Arrays.sort(nums);
while (i != j) {
if (nums[i] + nums[j] == target) {
for (int k = 0; k < nums.length; k++) {
if (b[k] == nums[i]) {
System.out.println("num[i]"+i);
a[0] = k;
}
if (b[nums.length-k-1] == nums[j]) {
a[1] = nums.length-k-1;
System.out.println("num[i]"+j);
}
}
return a;
} else {
if (nums[i] + nums[j] > target) {
j--;
} else {
i++;
}
}
}
return a;
}
}
` ` `
网友评论