两数之和 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]

相关推荐
不穿格子的程序员6 小时前
从零开始写算法——二叉树篇3:对称二叉树 + 二叉树直径
算法
MediaTea6 小时前
Python:实例 __dict__ 详解
java·linux·前端·数据库·python
SunnyDays10116 小时前
Python Excel 打印设置全攻略(打印区域、缩放、页边距、页眉页脚等)
python·excel打印设置·excel页面设置·excel打印选项
小鸡吃米…7 小时前
Python的人工智能-机器学习
人工智能·python·机器学习
傻啦嘿哟7 小时前
Python上下文管理器:优雅处理资源释放的魔法工具
开发语言·python
阿方索7 小时前
Python 基础简介
开发语言·python
BBB努力学习程序设计7 小时前
Python异步编程完全指南:从asyncio到高性能应用
python·pycharm
deephub7 小时前
机器学习时间特征处理:循环编码(Cyclical Encoding)与其在预测模型中的应用
人工智能·python·机器学习·特征工程·时间序列
追光天使7 小时前
Python 连接数据库并遍历数据
python
BBB努力学习程序设计7 小时前
Python迭代器与生成器深度解析:懒加载的艺术
python·pycharm