码迷,mamicode.com
首页 > 其他好文 > 详细

Next Permutation - LeetCode

时间:2019-02-15 15:34:45      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:www   时间   solution   字典序   logs   void   ble   复杂度   wap   

题目链接

Next Permutation - LeetCode

注意点

  • 如果是字典序最大的串则要返回字典序最小的串

解法

解法一:参见:http://www.cnblogs.com/grandyang/p/4428207.html 时间复杂度O(n)。

class Solution {
public:
    void nextPermutation(vector<int>& nums) {
        int n = nums.size(),i = n-2,j = n-1;
        while(i >= 0 && nums[i] >= nums[i+1]) i--;
        cout << i;
        if(i >= 0)
        {
            while(nums[j] <= nums[i]) j--;
            swap(nums[i],nums[j]);
        }
        reverse(nums.begin()+i+1,nums.end());
    }
};

技术图片

小结

  • 排列题,有许多变种

Next Permutation - LeetCode

标签:www   时间   solution   字典序   logs   void   ble   复杂度   wap   

原文地址:https://www.cnblogs.com/multhree/p/10383720.html

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