题目
1.Two Sum
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].
分析
本题要求给出一个方法twoSum,方法要求:
传入两个参数:nums,target。
传出两个索引值。
这道题利用简单遍历即可。
题解
C++实现
class Solution{
public:
vector<int> twoSum(vector<int> nums,int target){
int length = nums.size();//获取数组长度
vector<int> answer(2);//声明向量集合来存储所求的两个索引值
for(int i=0;i<length;i++){
for(int j=i+1;j<length;j++){
if(nums[i] + nums[j] == target){
answer[0] = i;
answer[1] = j;
}
}
}
return answer;
}
};
java实现
class Solution {
public int[] twoSum(int[] nums, int target) {
for(int i=0;i<nums.length-1;i++){
for(int j=i+1;j<nums.length;j++){
if(nums[i] + nums[j] == target){
return new int[]{i,j};
}
}
}
return new int[]{1,2};
}
}