栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java167. 两数之和 II - 输入有序数组(简单)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java167. 两数之和 II - 输入有序数组(简单)

思想:

        借鉴快排的思想

        1.i从左向右遍历,j从右向左遍历

        2.判断此时两数相加是否等于target,若比target大则 j 左移,若比target小则 i 右移

        (原理:最大的数加最小的数都比target大,那较大的那个数必比此时的最大数小)

代码:
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int[] ans = new int[2];
        for(int i = 0, j = numbers.length - 1; i < j; ){
            if(numbers[i] + numbers[j] == target){
                ans[0] = i + 1;
                ans[1] = j + 1;
                break;
            }else if(numbers[i] + numbers[j] > target){
                j--;
            }else i++;
        }
        return ans;
    }
}

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/489633.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号