力扣-两数之和

1.题目描述

2.题目链接

LCR 006. 两数之和 II - 输入有序数组 - 力扣(LeetCode)

3.题目代码

java 复制代码
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int[]ret=new int[2];
        int left=0,right=numbers.length-1;
        while(left<right){
        if(numbers[left]+numbers[right]>target){
            right--;
        }
        else if(numbers[left]+numbers[right]<target){
            left++;
        }
        else{
            ret[0]=left;
            ret[1]=right;
            return ret;
        }
        }
        return ret;
    }
}

4.解题思路

这道题的解题思路也是用双指针来解决的。

1).定义双指针

我们定义指针left为数组的最左边,指针right是数组的最右边。

2).利用单调性移动双指针

numbersleft+numbersright>target 时,不等式要想成立左边就需要减小 ,而numbersleft已经是最小值 ,所以只能numbersright减小 ,也就是right--

numbersleft+numbersright<target 时,不等式要想成立左边就需要增大 ,而numbersright已经是最大值 ,所以只能numbersleft增大 ,也就是left++

numbersleft+numbersright=target 时,不等式成立,将left和right这两个元素下标填入结果数组ret中,返回ret即可。

相关推荐
小李飞刀李寻欢5 小时前
DeepSeek V3 版本模型结构分析
算法·大模型·deepseek
某不知名網友6 小时前
C++ 七大排序算法完整讲解
java·算法·排序算法
得物技术6 小时前
得物推荐系统诊断 Agent:从 “调接口” 到 “会思考”|AICon 演讲整理
人工智能·算法·架构
Lugas6 小时前
为啥说男生找对象尽量在25岁前找到?
算法
MrZhao4006 小时前
从能跑到可用:一个 Agent Harness 还差哪些工程闭环?
算法
QN1幻化引擎7 小时前
Gravity-Anchored Cognitive Field Architecture: The DalinX V8/V10 Implementation
java·前端·算法
学计算机的计算基7 小时前
LeetCode 图论四题精讲:BFS、拓扑排序、Trie 树的模板与优化
java·笔记·算法
浩瀚地学7 小时前
【面试算法笔记】0202-链表-基本功能实现
java·经验分享·笔记·算法·面试
tkevinjd7 小时前
416分割等和子集
java·python·算法·leetcode·职场和发展
Keven_117 小时前
算法札记:Tarjan与拓扑序(Topo)的关系
算法·拓扑·tarjan