问题
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, and you may not use the same element twice.
题意:给定一个整数数组,返回两个数字的索引,使他们相加得到目标值。你可以假设每个输入只有一个解决方案,并且您不能两次使用相同的元素。
列如:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
解题
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] result = new int[2];
for (int i=0; i<nums.length; i++) {
int temp = target - nums[i];
for (int j=i+1; j<nums.length; j++) {
if (temp == nums[j]) {
result[0] = i;
result[1] = j;
return result;
}
}
}
return result;
}
public static void main(String[] args) {
int[] numbers = {2, 7, 11, 15};
int target = 18;
int[] result = new Solution().twoSum(numbers, target);
for (int i=0; i<result.length; i++)
System.out.printt("返回第%d个整数在数组中的索引:%d\n", i, result[i]);
}
}
结果
返回第1个整数在数组中的索引:1
返回第2个整数在数组中的索引:2