当前位置: 首页> 健康> 美食 > 两数之和 II(LeetCode)

两数之和 II(LeetCode)

时间:2025/8/23 13:44:32来源:https://blog.csdn.net/weixin_74254879/article/details/140965298 浏览次数:0次

题目

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列  ,请你从数组中找出满足相加之和等于目标数 target 的两个数。

如果设这两个数分别是 numbers[index_{1}] 和 numbers[index_{2}] ,则 1<=index1<index2<=numbers.length

以长度为 2 的整数数组 [index_{1},index_{2}] 形式返回这两个整数的下标 index_{1}  index_{2}

你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。

你所设计的解决方案必须只使用常量级的额外空间。

解题

def two_sum(numbers, target):left = 0right = len(numbers) - 1while left < right:current_sum = numbers[left] + numbers[right]if current_sum == target:return [left + 1, right + 1]  # 下标从1开始elif current_sum < target:left += 1else:right -= 1# 测试例子
numbers = [2, 7, 11, 15]
target = 9
result = two_sum(numbers, target)
print("满足条件的下标:", result)

满足条件的下标: [1, 2]

关键字:两数之和 II(LeetCode)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: