能看到这文章的估计应该都知道这题是啥,把原题复制过来除了增加点篇幅应该没什么用,所以我就直入主题,说我自己的思路跟解题代码了。思路的话就直接一些,不说心路历程。
解题思路:
首先想到的就是写一个双重循环,外层的循环遍历第一个数到倒数第二个数,内层的循环遍历第二个数到最后一个数,每两个数相加的结果等于target就把这两个数对应的索引值存到数组里就OK。
代码(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[] {};
}
}
当然这并不是最优的解题方法,不过是最容易想到的了,今天时间比较晚,之后的算法刷题过程中,应当考虑多个方法,并尽量在代码基础上进行优化。加油。