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;
    }
}
相关推荐
_深海凉_7 分钟前
LeetCode热题100- 字母异位词分组
leetcode
洛水水9 分钟前
【力扣100题】14.两数相加
c++·算法·leetcode
我不是小upper11 分钟前
相关≠因果!机器学习中皮尔逊相关检验的完整流程
人工智能·算法·机器学习
云烟成雨TD12 分钟前
Spring AI 1.x 系列【28】基于内存和 MySQL 的多轮对话实现案例
java·人工智能·spring
float_com12 分钟前
LeetCode80. 删除有序数组中的重复项 II
leetcode
pwn蒸鱼13 分钟前
leetcode:21. 合并两个有序链表
算法·leetcode·链表
Lyyaoo.14 分钟前
【JAVA基础面经】String、StringBuffer、StringBuilder
java·开发语言
洛水水15 分钟前
【力扣100题】15.删除链表的倒数第 N 个结点
算法·leetcode·链表
TeamDev20 分钟前
JxBrowser 8.18.2 版本发布啦!
java·前端·跨平台·桌面应用·web ui·jxbrowser·浏览器控件
LTphy21 分钟前
深度优先搜索的三种模板
算法·深度优先·图论