本文主要是介绍【LeetCode 167】两数之和II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 题目
2. 分析
就是简单的双指针的题,使用头尾指针分别指向数组的首尾,然后依次判断两者值的和与target的大小关系。关系分成三类:
(1)和大于target,说明尾指针过大,需要前移;
(2)和小于target,说明首指针过小,需要后移;
(3)和等于target,满足条件,返回结果
3. 代码
class Solution:def twoSum(self, numbers: List[int], target: int) -> List[int]:i, j = 0, len(numbers) - 1 # 定义双下标指针while( i < j ):if numbers[i] + numbers[j] > target:j -= 1elif numbers[i] + numbers[j] == target:return [i+1, j+1]else:i += 1
这篇关于【LeetCode 167】两数之和II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!