两数之和:
这里我的方法是先新定义一个长度为2的数组,用来存放符合条件的两个数的数组下标,然后使用两层循环,从第一个数开始将其后的数与之作和,看是否等于目标值,是则将下标值存放在数组中并返回。
public class Solution
{
public int[] TwoSum(int[] nums, int target)
{
int i,j;
int[] num=new int [2];
for (i = 0; i < nums.Length; i++)
{
for (j = i + 1; j < nums.Length; j++)
{
if (nums[i]+nums[j] == target)
{
num[0]=i;
num[1]=j;
return num;
}
}
}
return num;
}
}
运行结果如下:
这个方法比较容易想到,原理也比较容易理解,但时间复杂度为O(n2),相对来说不算太小,内存消耗也有点大。