zoukankan      html  css  js  c++  java
  • [LeetCode]两数之和 II

    题目

     

    代码 

    class Solution {
    public:
        vector<int> twoSum(vector<int>& numbers, int target) {
            int start=0,end=numbers.size()-1;
            vector<int> result;
            
            while(start<end)
            {
                if(numbers[start]+numbers[end]>target)
                    end--;
                else if(numbers[start]+numbers[end]<target)
                    start++;
                else
                    break;
            }
            result.push_back(start+1);
            result.push_back(end+1);
            return result;
        }
    };

     思路

    利用双指针的思想,从数组头和尾之和开始比较,如果start和end的值大于target,则移动end,如果小于target,则移动start,最后能得到start和end和等于target的情况,则start和end为所求的数值索引 

  • 相关阅读:
    奔跑的绵羊js
    13.差分
    12.子矩阵的和
    11.前缀和
    10.高精度除法
    9.高精度乘法
    8.高精度减法
    7.高精度加法
    6.数的三次方根
    5.数的范围
  • 原文地址:https://www.cnblogs.com/lizhenghao126/p/11053577.html
Copyright © 2011-2022 走看看