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.
给一个整形数组nums,再给一个整数target,然后判断这个整数是否为数组中某2个元素之和,如果是,返回数组nums所对应数的下标组成的新数组。结果是唯一,且nums的每个元素只能使用一次。
比如:
nums = [2, 7, 11, 15], target = 9
nums[0] + nums[1] = 2 + 7 = 9
return [0, 1].
分析:主要知识点是考察数组元素两两之间的遍历,所以用双重for循环即可实现。具体的java代码如下,
class Solution { public int[] twoSum(int[] nums, int target) { for(int i=0;i<nums.length;i++){ //第一个循环,从第一个元素开始 for(int j=i+1;j<nums.length;j++){ //第二个循环,第一个元素与第二个及以后的元素遍历 if(target-nums[i]==nums[j]){ //返回条件:target-某个元素=另一个元素 return new int[] {i,j}; //返回一个新数组,由下标组成 } } } throw new IllegalArgumentException("No two sum solution"); } }