leetcode167.两数之和||

双指针解法:因为原来的数组有序,所以可以通过改变区间的方式求解,当左右指针的值小于目标,那么右移左指针,大于就左移右指针,相等时则为结果

java 复制代码
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int[] result=new int[2];
        for(int i=0,j=numbers.length-1;i<j;){
            int sum=numbers[i]+numbers[j];
            if(sum==target){
                result[0]=i+1;
                result[1]=j+1;
                break;
            }else if(sum<target){
                i++;
            }else
                j--;
        }
        return result;
    }
}
相关推荐
wordbaby20 分钟前
混合检索:两全其美的艺术
人工智能·算法
小溪学编程21 分钟前
Java BufferedReader 详解:从基础用法到性能优化
java·python·性能优化
彧azz36 分钟前
数据结构:关于图的学习
c语言·数据结构·笔记·学习·算法
HZero.chen39 分钟前
Java 匿名类简介
java·匿名类
热心网友俣先生39 分钟前
A题-药材的烘干问题-题意逐句翻译
算法·数学建模
用户31268748772041 分钟前
Java 泛型擦除到底擦掉了什么?类型安全与桥接方法深度拆解
java
2601_960356381 小时前
2026秋招运营分析师能力模型:SQL、指标体系、AIGC与业务分析
算法
暖焰核心1 小时前
继承全解——继承、默认成员函数、切片、隐藏与虚继承
java·前端·javascript
hetao17338371 小时前
校内场-提高组 ZYZSC-S-Round 4
c++·算法
君顾11 小时前
外卖CPS系统开发实战指南:从架构设计到部署全流程解析
java·开发语言·外卖