KingR

题目要求

 

 

算法分析

可以用双指针法,

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

代码展示(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;
    }
}

 

提交结果

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-05-08
  • 2021-09-25
  • 2021-12-14
  • 2021-10-11
  • 2021-07-13
猜你喜欢
  • 2021-11-18
  • 2021-06-10
  • 2021-09-14
  • 2021-10-23
  • 2021-11-09
相关资源
相似解决方案