File tree 6 files changed +183
-2
lines changed
solution/0300-0399/0357.Count Numbers with Unique Digits
6 files changed +183
-2
lines changed Original file line number Diff line number Diff line change 26
26
<!-- 这里可写当前语言的特殊实现逻辑 -->
27
27
28
28
``` python
29
-
29
+ class Solution :
30
+ def countNumbersWithUniqueDigits (self , n : int ) -> int :
31
+ if n == 0 :
32
+ return 1
33
+ if n == 1 :
34
+ return 10
35
+ ans, cur = 10 , 9
36
+ for i in range (n - 1 ):
37
+ cur *= (9 - i)
38
+ ans += cur
39
+ return ans
30
40
```
31
41
32
42
### ** Java**
33
43
34
44
<!-- 这里可写当前语言的特殊实现逻辑 -->
35
45
36
46
``` java
47
+ class Solution {
48
+ public int countNumbersWithUniqueDigits (int n ) {
49
+ if (n == 0 ) {
50
+ return 1 ;
51
+ }
52
+ if (n == 1 ) {
53
+ return 10 ;
54
+ }
55
+ int ans = 10 ;
56
+ for (int i = 0 , cur = 9 ; i < n - 1 ; ++ i) {
57
+ cur *= (9 - i);
58
+ ans += cur;
59
+ }
60
+ return ans;
61
+ }
62
+ }
63
+ ```
64
+
65
+ ### ** C++**
66
+
67
+ ``` cpp
68
+ class Solution {
69
+ public:
70
+ int countNumbersWithUniqueDigits(int n) {
71
+ if (n == 0) return 1;
72
+ if (n == 1) return 10;
73
+ int ans = 10;
74
+ for (int i = 0, cur = 9; i < n - 1; ++i)
75
+ {
76
+ cur * = (9 - i);
77
+ ans += cur;
78
+ }
79
+ return ans;
80
+ }
81
+ };
82
+ ```
37
83
84
+ ### **Go**
85
+
86
+ ```go
87
+ func countNumbersWithUniqueDigits(n int) int {
88
+ if n == 0 {
89
+ return 1
90
+ }
91
+ if n == 1 {
92
+ return 10
93
+ }
94
+ ans := 10
95
+ for i, cur := 0, 9; i < n-1; i++ {
96
+ cur *= (9 - i)
97
+ ans += cur
98
+ }
99
+ return ans
100
+ }
38
101
```
39
102
40
103
### ** ...**
Original file line number Diff line number Diff line change 36
36
### ** Python3**
37
37
38
38
``` python
39
-
39
+ class Solution :
40
+ def countNumbersWithUniqueDigits (self , n : int ) -> int :
41
+ if n == 0 :
42
+ return 1
43
+ if n == 1 :
44
+ return 10
45
+ ans, cur = 10 , 9
46
+ for i in range (n - 1 ):
47
+ cur *= (9 - i)
48
+ ans += cur
49
+ return ans
40
50
```
41
51
42
52
### ** Java**
43
53
44
54
``` java
55
+ class Solution {
56
+ public int countNumbersWithUniqueDigits (int n ) {
57
+ if (n == 0 ) {
58
+ return 1 ;
59
+ }
60
+ if (n == 1 ) {
61
+ return 10 ;
62
+ }
63
+ int ans = 10 ;
64
+ for (int i = 0 , cur = 9 ; i < n - 1 ; ++ i) {
65
+ cur *= (9 - i);
66
+ ans += cur;
67
+ }
68
+ return ans;
69
+ }
70
+ }
71
+ ```
72
+
73
+ ### ** C++**
74
+
75
+ ``` cpp
76
+ class Solution {
77
+ public:
78
+ int countNumbersWithUniqueDigits(int n) {
79
+ if (n == 0) return 1;
80
+ if (n == 1) return 10;
81
+ int ans = 10;
82
+ for (int i = 0, cur = 9; i < n - 1; ++i)
83
+ {
84
+ cur * = (9 - i);
85
+ ans += cur;
86
+ }
87
+ return ans;
88
+ }
89
+ };
90
+ ```
45
91
92
+ ### **Go**
93
+
94
+ ```go
95
+ func countNumbersWithUniqueDigits(n int) int {
96
+ if n == 0 {
97
+ return 1
98
+ }
99
+ if n == 1 {
100
+ return 10
101
+ }
102
+ ans := 10
103
+ for i, cur := 0, 9; i < n-1; i++ {
104
+ cur *= (9 - i)
105
+ ans += cur
106
+ }
107
+ return ans
108
+ }
46
109
```
47
110
48
111
### ** ...**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ int countNumbersWithUniqueDigits (int n) {
4
+ if (n == 0 ) return 1 ;
5
+ if (n == 1 ) return 10 ;
6
+ int ans = 10 ;
7
+ for (int i = 0 , cur = 9 ; i < n - 1 ; ++i)
8
+ {
9
+ cur *= (9 - i);
10
+ ans += cur;
11
+ }
12
+ return ans;
13
+ }
14
+ };
Original file line number Diff line number Diff line change
1
+ func countNumbersWithUniqueDigits (n int ) int {
2
+ if n == 0 {
3
+ return 1
4
+ }
5
+ if n == 1 {
6
+ return 10
7
+ }
8
+ ans := 10
9
+ for i , cur := 0 , 9 ; i < n - 1 ; i ++ {
10
+ cur *= (9 - i )
11
+ ans += cur
12
+ }
13
+ return ans
14
+ }
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public int countNumbersWithUniqueDigits (int n ) {
3
+ if (n == 0 ) {
4
+ return 1 ;
5
+ }
6
+ if (n == 1 ) {
7
+ return 10 ;
8
+ }
9
+ int ans = 10 ;
10
+ for (int i = 0 , cur = 9 ; i < n - 1 ; ++i ) {
11
+ cur *= (9 - i );
12
+ ans += cur ;
13
+ }
14
+ return ans ;
15
+ }
16
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def countNumbersWithUniqueDigits (self , n : int ) -> int :
3
+ if n == 0 :
4
+ return 1
5
+ if n == 1 :
6
+ return 10
7
+ ans , cur = 10 , 9
8
+ for i in range (n - 1 ):
9
+ cur *= (9 - i )
10
+ ans += cur
11
+ return ans
You can’t perform that action at this time.
0 commit comments