LCR-006-两数之和II-输入有序数组

求解代码

java 复制代码
    public int[] twoSum(int[] numbers, int target) {
        for(int i=0;i<numbers.length;i++){
            int left = i+1;
            int right = numbers.length-1;
            
            //二分查找是闭区间 [left, right],等号保证最后一个元素被检查,避免漏查
            while (left<=right) {
                int mid = left+((right-left)>>1);
                if(target-numbers[i]==numbers[mid]){
                    return new int[]{i,mid};
                }else if(target-numbers[i]>numbers[mid]){
                    left=mid+1;
                }else{
                    right=mid-1;
                }
            }
        }
        return new int[]{-1,-1};
    }

小贴士

前文【哈希】两数之和 是使用哈希做的,这次利用有序的特性,通过二分的方法完成。

相关推荐
thefool11226613 分钟前
多线程 4
java
wewowilling18 分钟前
AI大模型开发--01Python基础(无废话)
开发语言·python·函数
小羊没烦恼!26 分钟前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
棉猴28 分钟前
玩游戏学Python5-函数
开发语言·python·函数·玩游戏·游戏编程
Rain的Java大神之路29 分钟前
[特殊字符]8年Java老兵转型AI Agent:90%的人挂在同一个坑,根本不用学Python!(万字实战复盘,建议收藏)
java·数据库·人工智能·后端·python·spring·ai编程
高级程序源1 小时前
springboot大学生体测系统72170-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计
谢亮_vipxieliang1 小时前
JavaScript this 指向完全指南:调用位置决定一切
开发语言·javascript·ecmascript
IT研究室1 小时前
最新计算机毕业设计选题推荐-基于spring boot的文学名著分享系统-网站-文档指导-Java-springboot
java·spring boot·课程设计
denlaku1 小时前
JDK 13 新特性详解
java·开发语言
秋饼1 小时前
Java 后端企业级 LLM 网关实战:Spring Cloud Gateway 构建统一大模型接入层
java·ai·技术分享·后端开发