Skip to content

Files

Latest commit

089c91a · Aug 22, 2024

History

History
98 lines (63 loc) · 1.8 KB

0060-permutation-sequence.adoc

File metadata and controls

98 lines (63 loc) · 1.8 KB

60. Permutation Sequence

{leetcode}/problems/permutation-sequence/[LeetCode - Permutation Sequence^]

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 for n = 3:

  1. "123"

  2. "132"

  3. "213"

  4. "231"

  5. "312"

  6. "321"

Given n and k, return the kth permutation sequence.

Note:

  • Given n will be between 1 and 9 inclusive.

  • Given k will be between 1 and n! inclusive.

Example 1:
Input: n = 3, k = 3
Output: "213"
Example 2:
Input: n = 4, k = 9
Output: "2314"

解题分析

{image_attr}
{image_attr}

不需要生成所有的全排列。如图,通过剪枝,只需要生成需要的排列的路径即可。

这里的重点是如何剪枝!

思考题

对回溯再推敲推敲!

参考资料

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

  • Given k will be between 1 and n! inclusive.

Example 1:

Input: n = 3, k = 3
Output: "213"

Example 2:

Input: n = 4, k = 9
Output: "2314"
link:{sourcedir}/_0060_PermutationSequence.java[role=include]