給出集合 [1,2,3,…,n],其所有元素共有 n! 種排列。
按大小順序列出所有排列情況,並一一標記,當 n = 3 時, 所有排列如下:
「123」
「132」
「213」
「231」
「312」
「321」
給定 n 和 k,返回第 k 個排列。
說明:給定 n 的範圍是 [1, 9]。
給定 k 的範圍是[1, n!]。
示例 1:
輸入: n = 3, k = 3
輸出: 「213」
示例 2:
輸入: n = 4, k = 9
輸出: 「2314」
class solution
arraylist arraylist = new arraylist();
for (int i = 1; i <= n; i++)
stringbuilder result = new stringbuilder();
int leaf = n;
k = k - 1;
while (leaf > 0)
// 求出下標索引index
int index = k / val;
arraylist.remove(index);
k = k % val;
leaf--;
}return result.tostring();
}}
第k個排列
給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當 n 3 時,所有排列如下 123 132 213 231 312 321 給定 n 和 k,返回第 k 個排列。說明 public string getpermutation int n,int k l...
第k個排列
給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當 n 3 時,所有排列如下 123 132 213 231 312 321 給定 n 和 k,返回第 k 個排列。說明 給定 n 的範圍是 1,9 給定 k 的範圍是 1,n 示例 1 輸入 n 3,k ...
第k個排列
給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當 n 3 時,所有排列如下 123 132 213 231 312 321 給定 n 和 k,返回第 k 個排列。說明 給定 n 的範圍是 1,9 給定 k 的範圍是 1,n 示例 1 輸入 n 3,k ...