60題 第k個排列

2022-08-14 13:54:13 字數 497 閱讀 3818

其實很明顯該排序強調的從小到大的排序就提示該題存在一定規律,比如如果k在[1,(n-1)!)之間時,那麼我們就可以確定第一位數字為1,k在[(n-1)!,2*(n-1)!)之間時,那麼第一位就是2.以此類推。

我們用乙個陣列來記錄階乘。然後開始對該字串所有位置的的數值進行確定。

class solution 

--k;

stringbuilder res = new stringbuilder();

int falg = new int[n+1];

arrays.fill(falg,1);

for(int i = 1 ; i < n+1 ; ++i)

}k %= map[n - i];

}return res.tostring();}}

60 第k個排列

給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當 n 3 時,所有排列如下 123 132 213 231 312 321 給定 n 和 k,返回第 k 個排列。說明 示例 1 輸入 n 3,k 3 輸出 213 示例 2 輸入 n 4,k 9 輸出 ...

60 第k個排列

給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當n 3時,所有排列如下 123 132 213 231 312 321 給定n和k,返回第k個排列。說明 輸入 n 3,k 3 輸出 213 輸入 n 4,k 9 輸出 2314 class soluti...

60 第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 ...