麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

LeetCode 60. Permutation Sequence

2019-11-14 08:50:32
字體:
來源:轉載
供稿:網友

描述 The set [1,2,3,…,n] contains a total of n! unique permutations.

By listing and labeling all of the permutations in order, We get the following sequence (ie, for n = 3):

“123” “132” “213” “231” “312” “321” Given n and k, return the kth permutation sequence.

Note: Given n will be between 1 and 9 inclusive.

分析 簡單的,可以用暴力枚舉法,調用 k ? 1 次 next_permutation()。 暴力枚舉法把前 k 個排列都求出來了,比較浪費,而我們只需要第 k 個排列。

利用康托編碼的思路,稍后細述。

代碼

class Solution {public: string getPermutation(int n, int k) { string s(n, '0'); for (int i = 0; i < n; ++i) s[i] += i + 1; for (int i = 0; i < k - 1; ++i) next_permutation(s.begin(), s.end()); return s; } template<typename BidiIt> bool next_permutation(BidiIt first, BidiIt last) { // Get a reversed range to simplify reversed traversal. const auto rfirst = reverse_iterator<BidiIt>(last); const auto rlast = reverse_iterator<BidiIt>(first); // Begin from the second last element to the first element. auto pivot = next(rfirst); // Find `pivot`, which is the first element that is no less than its // successor. `PRev` is used since `pivort` is a `reversed_iterator`. while (pivot != rlast && *pivot >= *prev(pivot)) ++pivot; // No such elemenet found, current sequence is already the largest // permutation, then rearrange to the first permutation and return false. if (pivot == rlast) { reverse(rfirst, rlast); return false; } // Scan from right to left, find the first element that is greater than // `pivot`. auto change = find_if(rfirst, pivot, bind1st(less<int>(), *pivot)); swap(*change, *pivot); reverse(rfirst, pivot); return true; }};
上一篇:微信小程序

下一篇:Python學習

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费看真人a一级毛片 | 亚洲精品久久久久久下一站 | 色偷偷一区 | 久久精品一区二区三 | 久久成人午夜视频 | 国产精品视频自拍 | 久色精品| 美女黄影院 | 免费国产在线观看 | 一级黄色a视频 | 1314av| 少妇一级淫片高潮流水电影 | 久久精品日产第一区二区三区 | 成年免费网站 | 色综合精品 | 爱性久久久久久久 | 亚洲网站在线观看视频 | 精品久久久久久久久久久久久久久久久久久 | 精品中文一区 | 蜜桃91丨九色丨蝌蚪91桃色 | 免费看污视频在线观看 | 性欧美视频在线观看 | 91久久免费| 久久国产成人午夜av浪潮 | 久久视讯 | 成人精品一区二区 | 午夜影视一区二区 | 久久精品亚洲成在人线av网址 | 精品一区二区在线观看 | 中文字幕在线亚洲精品 | 日本在线视频免费观看 | 日日狠狠久久 | 免费黄色大片在线观看 | 圆产精品久久久久久久久久久 | 亚洲卡通动漫在线观看 | 久久国产精品久久久久久久久久 | 免费a级片在线观看 | 一道本不卡一区 | 午夜视频免费在线观看 | 久久9久久 | 国产一区免费观看 |