leetcode演算法練習 60 第k個排列

2021-10-06 06:15:03 字數 836 閱讀 5378

所有題目源**:git位址

題目

給出集合 [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"

方案:stringbuilder+遞迴
class

solution

public stringbuilder getper

(int n,

int k)

else

else}}

else

if(k <= hashmap.

get(n -1)

)}else

if(n ==1)

return res;

}public

void

sethash

(int n)

}public

void

setlist

(int n)

}}

複雜度計算:

60 第k個排列(leetcode)

給出集合 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 輸出 ...

leetcode演算法練習

1014.最佳觀光組合 給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對景點 i j 組成的觀光組合的得分為 a i a j i j 景點的評分之和減去它們兩者之間的距離。返回一對觀光景點能取得的最高分。示例 輸入 8,1,5,2,6 輸...

leetcode演算法練習

1111.有效括號的巢狀深度 有效括號字串 定義 對於每個左括號,都能找到與之對應的右括號,反之亦然。詳情參見題末 有效括號字串 部分。巢狀深度 depth 定義 即有效括號字串巢狀的層數,depth a 表示有效括號字串 a 的巢狀深度。詳情參見題末 巢狀深度 部分。給你乙個 有效括號字串 seq...