leetcode : Permutations
runtime 0 ms, beats 100% of cpp submissions
O(n x n!) solution with explanation
tags: backtracking
๐ link
๐ description
็ตฆๅฎไธๅ้ฃๅ๏ผๅๅณไปๅ จ้จ่ฝ็ตๅ็ๆๅ๏ผ้ฃๅไธญไธๆๆ้่ค็ๅ ็ด ใ
ex. Input: nums = [1,2,3] Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
๐ง solution
ๆ่ฌ็ๅ จๆๅ๏ผๅ ถๅฏฆๅฐฑๆฏๆๆฏๅ้ป้ฝๅพๅพๆ็็๏ผ็ตๆไธๅๅ จๆฐ็ๆๅ๏ผไฝๅจ้่ฃกๆ้ขๅฐๅฐไธๅๅ้ก๏ผๆฏๅฆ้็จไธญๅฏ่ฝๅบ็พ้่ค็็ๆ ๏ผๆญคๆๆๅๅฏไปฅไฝฟ็จ set ไพๅป้ค้่ค้ ๏ผไฝ้ๆจฃๅๆๅขๅ ่จ็ฎ้ไปฅๅ็ฉบ้็้ๆฑ๏ผๆไปฅๆๅๅฏไปฅ้้่ฎๆไฝๅบ็พ้ ๅบๆงไพ้ฟๅ ๏ผๆฏๅฆไธๅฎๅ ๅพ็ฌฌ 1 ไฝๅพๅพๆ (ไปฅๆญค้กๆจ 2ใ3 โฆ) ๏ผไปฅๅไบคๆๅช่ฝๅพๅพๆ๏ผ้ๆจฃๅฐฑไธๆๅบๅ ไบคๆ 1ใ2 ๅไบคๆ 2ใ1 ๅบ็พ้่ค็็ๆ ๏ผไนไธๆๆไบคๆ 1ใ2 , 2ใ3 ่ 2ใ3 , 1ใ3 ็ๆ ๆณใ
้ๆไธๅๆ้่ฆ็้้ป๏ผๆฏๆฌกไบคๆๆๆๅๅฏไปฅ้ธๆไธๆใ
โณ time complexity
ๅ
ฑๆ n! ๅ่งฃ๏ผๆฏๅ่งฃ้ฝ็ถ้ n ๆฌกไบคๆ๏ผๆ้่ค้ๅบฆ O(n x n!)
็ธฝๆ้่ค้ๅบฆ O(n x n!)
๐ code
1 | class Solution { |