|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
sorted_id = sorted(range(len(nums)), key=lambda [b]k: nums[k])
nums是一个列表,key是比较的参数,lambda是匿名函数,但后面的nums【k】是什么意思?
class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
sorted_id = sorted(range(len(nums)), key=lambda k: nums[k])
head = 0
tail = len(nums) - 1
sum_result = nums[sorted_id[head]] + nums[sorted_id[tail]]
while sum_result != target:
if sum_result > target:
tail -= 1
elif sum_result < target:
head += 1
sum_result = nums[sorted_id[head]] + nums[sorted_id[tail]]
return [sorted_id[head], sorted_id[tail]]
num = [2,7,11,5] 对应位置参数是 [0,1,2,3] 也就是
0 对 2
1 对 7
2 对 11
3 对 5
排序后元素的大小顺序应该是 [2,5,7,11] 则对应原先的位置参数就为 [0,3,1,2] 这样看得懂吧
|
-
单独运行该段代码所得
|