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

相关推荐
放荡不羁的野指针几秒前
leetcode150题-字符串
数据结构·算法·leetcode
苦藤新鸡3 分钟前
4.移动零
c++·算法·力扣
hetao173383710 分钟前
2026-01-04~06 hetao1733837 的刷题笔记
c++·笔记·算法
橘颂TA14 分钟前
【剑斩OFFER】算法的暴力美学——存在重复元素Ⅱ
算法·leetcode·哈希算法·散列表·结构与算法
Boilermaker199216 分钟前
[算法基础] DFS
算法
bubiyoushang88819 分钟前
MATLAB比较SLM、PTS和Clipping三种算法对OFDM系统PAPR的抑制效果
数据结构·算法·matlab
cg501726 分钟前
力扣数据库——组合两个表
sql·算法·leetcode
六边形战士DONK27 分钟前
[强化学习杂记] 从数学角度理解贝尔曼最优公式为什么是greedy?
算法
C雨后彩虹34 分钟前
计算误码率
java·数据结构·算法·华为·面试
AI Echoes1 小时前
LangChain 非分割类型的文档转换器使用技巧
人工智能·python·langchain·prompt·agent