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;
    }
}
相关推荐
椰羊~王小美19 小时前
setScale没传roudingmode,为什么会报错
java
WizLC19 小时前
【JAVA】JVM类加载器知识笔记
java·jvm·笔记
喝汽水的猫^19 小时前
Java实现Excel 导出(多 Sheet、复杂格式)
java·excel
自然常数e19 小时前
深入理解指针(6)
c语言·数据结构·算法·visual studio
Xの哲學19 小时前
Linux VxLAN深度解析: 从数据平面到内核实现的全面剖析
linux·服务器·算法·架构·边缘计算
TL滕19 小时前
从0开始学算法——第十八天(分治算法练习)
笔记·学习·算法
毕设源码-朱学姐19 小时前
【开题答辩全过程】以 基于JavaWeb的疾病查询系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
雨中飘荡的记忆19 小时前
Java面向对象编程详解
java·开发语言
月明长歌19 小时前
【码道初阶】【LeetCode 958】判定完全二叉树:警惕 BFS 中的“管中窥豹”陷阱
算法·leetcode·宽度优先
zhangyifang_00920 小时前
Spring中的BeanFactory类
java·后端·spring