Skip to content

Commit 68c0018

Browse files
committed
feat: add typescript solution to lc problem: No.2094
No.2094.Finding 3-Digit Even Numbers
1 parent 1af65f1 commit 68c0018

File tree

3 files changed

+73
-0
lines changed

3 files changed

+73
-0
lines changed

solution/2000-2099/2094.Finding 3-Digit Even Numbers/README.md

+24
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,31 @@ class Solution {
151151
<!-- 这里可写当前语言的特殊实现逻辑 -->
152152

153153
```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+
};
154167

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+
}
155179
```
156180

157181
### **...**

solution/2000-2099/2094.Finding 3-Digit Even Numbers/README_EN.md

+24
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,31 @@ class Solution {
139139
### **TypeScript**
140140

141141
```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+
};
142155

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+
}
143167
```
144168

145169
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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+
}

0 commit comments

Comments
 (0)