leetcode167:两数之和II

两数之和II

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1]numbers[index2] ,则 1 <= index1 < index2 <= numbers.length

以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1index2

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

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

java 复制代码
public int[] twoSum(int[] numbers, int target) {
        int index1 = 0;
        int index2 = numbers.length-1;
        while (true) {
            if(numbers[index1] + numbers[index2] == target){
                return new int[]{index1+1,index2+1};
            }
            if(numbers[index1] + numbers[index2] > target){
                index2--;
            }else if(numbers[index1] + numbers[index2] < target){
                index1++;
            }
        }
    }
相关推荐
致Great3 小时前
Pi 的上下文压缩,到底是怎么工作的?
算法
wuyk5554 小时前
4.树:一对多的层次数据结构
开发语言·数据结构·stm32·单片机
watersink4 小时前
机器学习聚类算法
算法·机器学习·聚类
luj_17685 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
饼饼学习空间智能6 小时前
家庭服务机器人训练数据怎么积累?仿真、真实采集与持续学习的技术路线分析
人工智能·算法·机器学习
en.en..7 小时前
数据结构考点解析:逻辑闭环与存储循环辨析
数据结构
蛋先生DX8 小时前
你瘦不下来但大模型可以:量化原理了解一下
深度学习·算法·llm
牛阿大9 小时前
LQR算法
算法
(╹◡╹)9 小时前
18.剪枝
算法·机器学习·剪枝