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

相关推荐
小字节,大梦想1 小时前
【数据结构】详细介绍各种排序算法,包含希尔排序,堆排序,快排,归并,计数排序
c语言·数据结构·c++·算法
笑笑布丁1 小时前
一些python实践
linux·python
战族狼魂1 小时前
java代码 识别pdf文件是否含有表格
java·python·pdf
程序者王大川1 小时前
【大数据】如何读取多个Excel文件并计算列数据的最大求和值
开发语言·python·excel·big data
Mryan20051 小时前
OpenJudge | 寻找中位数
开发语言·数据结构·c++·算法·openjudge
lizi888882 小时前
打包Python代码的常用方法实现程序exe应用
开发语言·python
yava_free2 小时前
机器学习TFIDF的情感分类文章
python·机器学习·分类·tf-idf
api茶飘香3 小时前
守护应用边界:通过反射API实现安全的输入输出过滤
java·开发语言·python·安全·django·virtualenv·pygame
七十二五3 小时前
matlab数据批量保存为excel,文件名,行和列的名称设置
经验分享·算法·matlab·青少年编程·矩阵·excel
阿巴~阿巴~3 小时前
C_深入理解指针(五) —— sizeof和strlen的对比、数组和指针笔试题解析、指针运算笔试题解析
c语言·开发语言·数据结构·算法