leetcode 167 two sum II
2024-08-20 22:25:02
167. Two Sum II - Input array is sorted
Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.
The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2.
Note:
- Your returned answers (both index1 and index2) are not zero-based.
- You may assume that each input would have exactly one solution and you may not use the same element twice.
Example:
Input: numbers = [2,7,11,15], target = 9
Output: [1,2]
Explanation: The sum of 2 and 7 is 9. Therefore index1 = 1, index2 = 2. 双指针问题,由于是排过序的列表,可以左指针指向起始,右指针指向末尾。两个指针根据条件收缩。最终找到符合的两个值。
如果numbers[left] + numbers[right] 大于target,则右指针左移,使和减小。
如果numbers[left] + numbers[right] 小于target,则左指针右移,使和增大。
class Solution(object):
def twoSum(self, numbers, target):
"""
:type numbers: List[int]
:type target: int
:rtype: List[int]
"""
left = 0
right = len(numbers) - 1
while left < right:
add = numbers[left] + numbers[right]
if add == target:
return [left + 1, right + 1]
elif add < target:
left = left + 1
else:
right = right - 1
leetcode 官网有效率更高的代码,感兴趣的可以搜下。
最新文章
- shell脚本二
- Sublime Text 3 如何修改默认快捷键
- [mock]7月25日
- 李洪强漫谈iOS开发[C语言-034]-程序的结构
- PHP设计模式之:策略模式
- nORA-01000: 超出打开游标的最大数(SDE连接)
- 《python基础教程》笔记之 条件语句和循环语句
- 各种编码之间的关系以及getBytes的使用
- ";ApplicationDbContext";(泛指之类的数据库上下文模型)上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库。
- jsonp跨域再谈
- OpenCms模块创建图解
- 【机器学习】人工神经网络ANN
- python调试之pdb
- Linux中ssh介绍与ssh+key密钥登陆部署
- 解决qt提示:qt.network.ssl: QSslSocket: cannot call unresolved function DH_free
- copy on write,代理模式
- LCA 最近公共祖先 (模板)
- Selenium WebDriver Api 知识梳理
- Google 2013笔试题一
- Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted