[leetcode]#167. Two Sum II
来源:互联网 发布:250luxu乐乎 编辑:程序博客网 时间:2024/06/01 09:26
- 题目:Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2 - 思路方法
注意题目说了两个重要条件:1,有序数组;2,有唯一解。所以解的两个数一定都是数组中唯一存在的数。
- 思路一
利用两个指针从数组的两侧开始向中间移动,寻找第一对和为target的两个数即为所求。
class Solution(object): def twoSum(self, numbers, target): """ :type numbers: List[int] :type target: int :rtype: List[int] """ left, right = 0, len(numbers) - 1 while left < right: if numbers[left] + numbers[right] == target: return [left + 1, right + 1] elif numbers[left] + numbers[right] > target: right -= 1 else: left += 1
- 思路二
扫描数组,用字典记录扫描历史,并判断可能成对的另一个数是否在数组中。
代码
class Solution(object): def twoSum(self, numbers, target): """ :type numbers: List[int] :type target: int :rtype: List[int] """ num_dict = {} for i, num in enumerate(numbers): if (target - num) in num_dict: return [num_dict[target - num], i + 1] num_dict[num] = i + 1
阅读全文
0 0
- LeetCode-167. Two Sum II
- leetcode 167. Two Sum II
- [leetcode]167. Two Sum II
- leetcode 167. Two Sum II
- leetcode 167. Two Sum II
- LeetCode | 167. Two Sum II
- LeetCode:167. Two Sum II
- [LeetCode]167. Two Sum II
- [LeetCode]167. Two Sum II
- LeetCode 167. Two Sum II
- LeetCode 167. Two Sum II
- [leetcode]: 167. Two Sum II
- LeetCode 167. Two Sum II
- 【Leetcode】167. Two Sum II
- [leetcode]167. Two Sum II
- LeetCode 167. Two Sum II
- LeetCode 167. Two Sum II
- LeetCode 167. Two Sum II
- CSS3动画属性简单介绍
- 1.数据分析引言--分解数据
- Java微信公众号
- Drawable基础知识总结----drawable标签shape的使用
- 非Anaconda纯PYTHON环境下Theano基于WIN10的纯净CUDA安装与GPU配置
- [leetcode]#167. Two Sum II
- 开发过程中的版本
- Serverless加CRDT掀起的新浪潮
- Halide学习笔记----Halide tutorial源码阅读1
- 解决 tomcat 在阿姨云启动缓慢
- 智能指针
- 代理设计模式
- 关于ubuntu开机菜单栏和任务栏不见了的有效解决方法
- 使用JestClient连接elasticsearch-5.x对数据进行分组聚合