File tree 3 files changed +73
-0
lines changed
solution/2000-2099/2094.Finding 3-Digit Even Numbers
3 files changed +73
-0
lines changed Original file line number Diff line number Diff line change @@ -151,7 +151,31 @@ class Solution {
151
151
<!-- 这里可写当前语言的特殊实现逻辑 -->
152
152
153
153
``` ts
154
+ function findEvenNumbers(digits : number []): number [] {
155
+ let record = new Array (10 ).fill (0 );
156
+ for (let digit of digits ) {
157
+ record [digit ]++ ;
158
+ }
159
+ let ans = [];
160
+ for (let i = 100 ; i < 1000 ; i += 2 ) {
161
+ if (check (record , String (i ))) {
162
+ ans .push (i );
163
+ }
164
+ }
165
+ return ans ;
166
+ };
154
167
168
+ function check(target : Array <number >, digits : string ): boolean {
169
+ let record = new Array (10 ).fill (0 );
170
+ for (let digit of digits ) {
171
+ record [digit ]++ ;
172
+ }
173
+
174
+ for (let i = 0 ; i < 10 ; i ++ ) {
175
+ if (record [i ] > target [i ]) return false ;
176
+ }
177
+ return true ;
178
+ }
155
179
```
156
180
157
181
### ** ...**
Original file line number Diff line number Diff line change @@ -139,7 +139,31 @@ class Solution {
139
139
### ** TypeScript**
140
140
141
141
``` ts
142
+ function findEvenNumbers(digits : number []): number [] {
143
+ let record = new Array (10 ).fill (0 );
144
+ for (let digit of digits ) {
145
+ record [digit ]++ ;
146
+ }
147
+ let ans = [];
148
+ for (let i = 100 ; i < 1000 ; i += 2 ) {
149
+ if (check (record , String (i ))) {
150
+ ans .push (i );
151
+ }
152
+ }
153
+ return ans ;
154
+ };
142
155
156
+ function check(target : Array <number >, digits : string ): boolean {
157
+ let record = new Array (10 ).fill (0 );
158
+ for (let digit of digits ) {
159
+ record [digit ]++ ;
160
+ }
161
+
162
+ for (let i = 0 ; i < 10 ; i ++ ) {
163
+ if (record [i ] > target [i ]) return false ;
164
+ }
165
+ return true ;
166
+ }
143
167
```
144
168
145
169
### ** ...**
Original file line number Diff line number Diff line change
1
+ function findEvenNumbers ( digits : number [ ] ) : number [ ] {
2
+ let record = new Array ( 10 ) . fill ( 0 ) ;
3
+ for ( let digit of digits ) {
4
+ record [ digit ] ++ ;
5
+ }
6
+ let ans = [ ] ;
7
+ for ( let i = 100 ; i < 1000 ; i += 2 ) {
8
+ if ( check ( record , String ( i ) ) ) {
9
+ ans . push ( i ) ;
10
+ }
11
+ }
12
+ return ans ;
13
+ } ;
14
+
15
+ function check ( target : Array < number > , digits : string ) : boolean {
16
+ let record = new Array ( 10 ) . fill ( 0 ) ;
17
+ for ( let digit of digits ) {
18
+ record [ digit ] ++ ;
19
+ }
20
+
21
+ for ( let i = 0 ; i < 10 ; i ++ ) {
22
+ if ( record [ i ] > target [ i ] ) return false ;
23
+ }
24
+ return true ;
25
+ }
You can’t perform that action at this time.
0 commit comments