题解 | #两数之和#
两数之和
http://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f
解题思路:遍历数组numbers得到所有两数之和存在的情况,并于目标值进行比较,如果相等,则把这两个数的下标加1存进返回的数组num里。
2.暴力:双重for循环,第一层循环的第n次循环表示数组中第n-1个下标的值与后面的值的相加;第二层循环表示第一层循环表示的值的后面的数据的遍历。
这里采用C++解决,代码如下,有建议请提出,我将积极改正:
import java.util.*;
public class Solution {
/**
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
public int[] twoSum (int[] numbers, int target) {
int[] num = new int[2];
for(int i = 0;i < numbers.length; i++){
for(int j = i+1;j<numbers.length; j++){
if(numbers[i]+numbers[j]==target){
num[0]=i+1;
num[1]=j+1;
}
}
}
return num;
}
}
public class Solution {
/**
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
public int[] twoSum (int[] numbers, int target) {
int[] num = new int[2];
for(int i = 0;i < numbers.length; i++){
for(int j = i+1;j<numbers.length; j++){
if(numbers[i]+numbers[j]==target){
num[0]=i+1;
num[1]=j+1;
}
}
}
return num;
}
}