两数之和 II(LeetCode)

题目

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

如果设这两个数分别是 ,则

以长度为 的整数数组 形式返回这两个整数的下标 和**。

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

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

解题

python 复制代码
def two_sum(numbers, target):
    left = 0
    right = len(numbers) - 1

    while left < right:
        current_sum = numbers[left] + numbers[right]
        if current_sum == target:
            return [left + 1, right + 1]  # 下标从1开始
        elif current_sum < target:
            left += 1
        else:
            right -= 1


# 测试例子
numbers = [2, 7, 11, 15]
target = 9
result = two_sum(numbers, target)
print("满足条件的下标:", result)

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

相关推荐
站大爷IP5 分钟前
5个技巧写出专业Python代码:从新手到进阶的实用指南
python
纪元A梦6 分钟前
贪心算法应用:K-Means++初始化详解
算法·贪心算法·kmeans
_不会dp不改名_20 分钟前
leetcode_21 合并两个有序链表
算法·leetcode·链表
hrrrrb23 分钟前
【Python】字符串
java·前端·python
mark-puls30 分钟前
C语言打印爱心
c语言·开发语言·算法
Python技术极客33 分钟前
将 Python 应用打包成 exe 软件,仅需一行代码搞定!
算法
大翻哥哥38 分钟前
Python 2025:低代码开发与自动化运维的新纪元
运维·python·低代码
吃着火锅x唱着歌40 分钟前
LeetCode 3302.字典序最小的合法序列
leetcode
睡不醒的kun1 小时前
leetcode算法刷题的第三十四天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
吃着火锅x唱着歌1 小时前
LeetCode 978.最长湍流子数组
数据结构·算法·leetcode