
Description
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.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
解题思路
题目要求求出当在一个数组中的两个数的和等于目标数,则返回这儿两个数的数组下标
AC代码
JAVA代码
1 2 3 4 5 6 7 8 9 10
|
class { 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(nums[j] == target - nums[i]){ return new int[] {i,j}; } } throw new IllegalArgumentException("No two sum solution"); } }
|
C++代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class { public: vector<int> twoSum(vector<int>& nums, int target) { int size = nums.size(); vector<int> result; for(int i = 0; i< size -1;i++){ for( int j = i + 1; j < size; j++ ){ if(nums[i] == target - nums[j]){ result.push_back(i); result.push_back(j); return result; } } } } };
|
题目链接
Two Sum
近期评论