首页 > 其他 > 详细

leetcode31 Next Permutation

时间:2019-11-12 20:06:17      阅读:83      评论:0      收藏:0      [点我收藏+]

思路:

找规律。

实现:

 1 class Solution
 2 {
 3 public:
 4     void nextPermutation(vector<int>& nums)
 5     {
 6         int n = nums.size(); bool flg = false;
 7         for (int i = n - 2; i >= 0; i--)
 8         {
 9             if (nums[i] < nums[i + 1])
10             {
11                 sort(nums.begin() + i + 1, nums.end());
12                 int p = upper_bound(nums.begin() + i + 1, nums.end(), nums[i]) - nums.begin();
13                 swap(nums[i], nums[p]);
14                 flg = true; break;
15             }
16         }
17         if (!flg) sort(nums.begin(), nums.end());
18     }
19 }

leetcode31 Next Permutation

原文:https://www.cnblogs.com/wangyiming/p/11844522.html

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