leetcode1 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.

在一个数列中,如果两个数的和与给定值相同,则返回这两个数的下标。

分析与总结:

思路:

输入为list,输出为两个数的下标。为了得到这两个数,需要写一个双重循环,但可能运算时间过长,所以必须建立一个新的list以降低On。等在新的list里找到这两个数字之后,在回到最开始的list里,找到这两个数的下标。

1.一开始想着要降低运算时间,所以建立了一个新的list,并只添加进去比target小的数字。结果出现了错误,如下:


leetcode1 two sum_第1张图片


leetcode1 two sum_第2张图片

因为list里可能出现负数,所以无法将比target小的数字全部舍弃。

因此若想降低On,只能将list排序。

2.新建一个new-list,为原先list排序后的样子


leetcode1 two sum_第3张图片

需要注意:只有最后result的长度为2,即找到了两个数的下标时,才可结束循环。

你可能感兴趣的:(leetcode1 two sum)