首页 > 其他 > 详细

31. Next Permutation

时间:2019-03-09 12:21:24      阅读:148      评论:0      收藏:0      [点我收藏+]

https://www.cnblogs.com/grandyang/p/4428207.html

按照博客的思路在做就好,唯一值得注意的一点:如果整个数组都没有 nums[i+1] > nums[i],你就需要把整个数组reverse

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

 

31. Next Permutation

原文:https://www.cnblogs.com/ymjyqsx/p/10500190.html

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