国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

LeetCode 46. Permutations

2019-11-11 07:04:05
字體:
來源:轉載
供稿:網友

描述 Given a collection of distinct numbers, return all possible permutations.

For example, [1,2,3] have the following permutations:

[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]

分析 遞歸,vecotr頭尾first、last, 1. 當first指向last的前一個元素,一次排列完成,將此次排列結果存入二維vector。 2. 從first向last靠近,不斷交換first和first至last上的元素。 3. 遞歸執行以上步驟。

代碼

class Solution {public: vector<vector<int>> permute(vector<int>& nums) { vector<int> tmp; vector<vector<int>> result; permute(nums, nums.begin(), nums.end(), result); return result; } template <typename BidiIt> void permute(vector<int>& nums, BidiIt first, BidiIt last, vector<vector<int>> &result) { if (first == PRev(last)) { result.push_back(nums); } else { for (auto it = first; it != last; ++it) { swap(*it, *first); permute(nums, next(first), last, result); swap(*it, *first); } } }};
上一篇:1.1.1初識VisualBasic

下一篇:VBA 偏移 Offset

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉善县| 汝州市| 温宿县| 克拉玛依市| 营山县| 寿阳县| 大名县| 罗甸县| 宁海县| 临漳县| 绥芬河市| 砚山县| 韶山市| 乐平市| 克拉玛依市| 南川市| 河西区| 化州市| 鄯善县| 夏河县| 深水埗区| 丰县| 通许县| 柳林县| 广灵县| 财经| 阳信县| 宣城市| 芜湖县| 绵竹市| 牡丹江市| 长宁区| 巴林右旗| 凤冈县| 湖南省| 封丘县| 驻马店市| 清流县| 长子县| 永丰县| 桂东县|