首页 > 其他 > 详细

que_one

时间:2019-04-12 13:00:38      阅读:175      评论:0      收藏:0      [点我收藏+]

#include<iostream>//这是leetcode的第一道题
#include<vector>
using namespace std;

vector<int> nums{ 1, 3, 6, 9 };
int target = 15;

class Solution {
public:
    const vector<int> twoSum(vector<int>& nums, int target)
    {
        vector<int> index;
        if (target <= nums[en])
        {
            while ((beg != en) && (beg - 1 != en))
            {
                if ((nums[beg] + nums[en]) > target)
                    en--;
                else if ((nums[beg] + nums[en]) == target)
                {
                    index.push_back(beg);
                    index.push_back(en);
                    beg++;
                }
                else
                    beg++;
            }
        }
        else
        {
            while ((beg != en) && (beg - 1 != en))
            {
                if ((nums[beg] + nums[en]) < target)
                    beg++;
                else if ((nums[beg] + nums[en]) == target)
                {
                    index.push_back(beg);
                    index.push_back(en);
                    en--;
                }
                else
                    en--;
            }
        }
        return index;
    }

    decltype(nums.size()) beg = 0, en = nums.size() - 1;
};

int main()
{
    Solution s;

    cout << s.twoSum(nums, target).size() << endl;//2
    cout << s.twoSum(nums, target).size() << endl;//0
 
    system("pause");
    return 0;
}

红色部分为什么值不同鸭???

先mark一下

que_one

原文:https://www.cnblogs.com/stumn/p/10695217.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!