码迷,mamicode.com
首页 > 编程语言 > 详细

LeetCode0167.两数之和 II - 输入有序数组

时间:2020-07-20 10:40:01      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:tps   target   pre   null   ble   inf   else   答案   ima   

题目要求

技术图片

 

 

算法分析

可以用双指针法,

分别指向头尾元素,如果两元素的和大于目标,尾指针前移,如果小于目标,头指针后移,等于目标即可得答案

代码展示(C#)

public class Solution {
    public int[] TwoSum(int[] numbers, int target) {
        if(numbers.Length == 0){return null;}
        int[] ret = new int[2];
        int p1 = 0,p2 = numbers.Length - 1;
        while(p1 < p2){
            int temp = numbers[p1] + numbers[p2];
            if(temp == target){
                ret = new int[2]{p1+1,p2+1};
                break;
            }
            else if(temp < target){
                p1++;
            }
            else if(temp > target){
                p2--;
            }
        }
        return ret;
    }
}

 

提交结果

技术图片

 

LeetCode0167.两数之和 II - 输入有序数组

标签:tps   target   pre   null   ble   inf   else   答案   ima   

原文地址:https://www.cnblogs.com/KingR/p/13343130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!