Question
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].UPDATE (2016/2/13):
The return format had been changed to zero-based indices. Please read the above updated description carefully.
方法1: 暴力枚举法
public class SumTest {
public static int[] twoSum(int[] nums, int target) {
int size=nums.length;
int [] location=new int[2];
for (int i=0;i<size-1;i++)
for(int j=i+1;j<size;j++){
if (target==(nums[i]+nums[j])){
location[0]=i;
location[1]=j;
break;
}
}
return location;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] nums={3, 2, 4};
int target=6;
int [] location=twoSum(nums, target);
for (int i=0;i<location.length;i++)
System.out.print(location[i]);
}
}方法二:待续