1 parent a05df43 commit bff2a75Copy full SHA for bff2a75
1 file changed
leetcode3/최원준/357. Count Numbers with Unique Digits.py
@@ -0,0 +1,42 @@
1
+#
2
+
3
+'''
4
+1. 아이디어 :
5
+백트래킹으로 모든 경우를 구한다.
6
+현재 숫자에 방문하지 않은 숫자를 더한다.
7
8
+2. 시간복잡도 :
9
+ 약 O(10 ** 8)
10
11
+3. 자료구조/알고리즘 :
12
+backtracking
13
14
15
+class Solution:
16
+ def countNumbersWithUniqueDigits(self, n: int) -> int:
17
+ visited = set()
18
19
+ def backtrack(length, total_length):
20
+ if length == total_length:
21
+ return 1
22
23
+ total = 0
24
25
+ for i in range(10):
26
+ if length == 0 and i ==0:
27
+ continue # 0
28
29
+ if i in visited:
30
+ continue
31
32
+ visited.add(i)
33
+ total += backtrack(length+1, total_length)
34
+ visited.remove(i)
35
36
+ return total
37
38
+ ans = 0
39
+ for length in range(n+1):
40
+ ans += backtrack(0, length)
41
+ return ans
42
0 commit comments