Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ef9966b

Browse files
iam-abhishek-yadavyAbhishek-007
andauthored
feat: add ts solution to lc problem: No.935 (doocs#2025)
* feat: add ts solution to lc problem: No.935 * style: format code and docs with prettier * Update README.md * Update README_EN.md * Update solution.ts * style: format code and docs with prettier --------- Co-authored-by: iam-abhishek-yadav <abhishekyadav.recs@gmail.com> Co-authored-by: iam-abhishek-yadav <iam-abhishek-yadav@users.noreply.github.com>
1 parent 1fc76a7 commit ef9966b

File tree

3 files changed

+112
-0
lines changed

3 files changed

+112
-0
lines changed

‎solution/0900-0999/0935.Knight Dialer/README.md‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,45 @@ public class Solution {
224224
}
225225
```
226226

227+
### **TypeScript**
228+
229+
```ts
230+
function knightDialer(n: number): number {
231+
const MOD: number = 1e9 + 7;
232+
233+
if (n === 1) {
234+
return 10;
235+
}
236+
237+
const f: number[] = new Array(10).fill(1);
238+
239+
while (--n > 0) {
240+
const t: number[] = new Array(10).fill(0);
241+
242+
t[0] = f[4] + f[6];
243+
t[1] = f[6] + f[8];
244+
t[2] = f[7] + f[9];
245+
t[3] = f[4] + f[8];
246+
t[4] = f[0] + f[3] + f[9];
247+
t[6] = f[0] + f[1] + f[7];
248+
t[7] = f[2] + f[6];
249+
t[8] = f[1] + f[3];
250+
t[9] = f[2] + f[4];
251+
252+
for (let i = 0; i < 10; ++i) {
253+
f[i] = t[i] % MOD;
254+
}
255+
}
256+
257+
let ans: number = 0;
258+
for (const v of f) {
259+
ans = (ans + v) % MOD;
260+
}
261+
262+
return ans;
263+
}
264+
```
265+
227266
### **...**
228267

229268
```

‎solution/0900-0999/0935.Knight Dialer/README_EN.md‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,45 @@ public class Solution {
205205
}
206206
```
207207

208+
### **TypeScript**
209+
210+
```ts
211+
function knightDialer(n: number): number {
212+
const MOD: number = 1e9 + 7;
213+
214+
if (n === 1) {
215+
return 10;
216+
}
217+
218+
const f: number[] = new Array(10).fill(1);
219+
220+
while (--n > 0) {
221+
const t: number[] = new Array(10).fill(0);
222+
223+
t[0] = f[4] + f[6];
224+
t[1] = f[6] + f[8];
225+
t[2] = f[7] + f[9];
226+
t[3] = f[4] + f[8];
227+
t[4] = f[0] + f[3] + f[9];
228+
t[6] = f[0] + f[1] + f[7];
229+
t[7] = f[2] + f[6];
230+
t[8] = f[1] + f[3];
231+
t[9] = f[2] + f[4];
232+
233+
for (let i = 0; i < 10; ++i) {
234+
f[i] = t[i] % MOD;
235+
}
236+
}
237+
238+
let ans: number = 0;
239+
for (const v of f) {
240+
ans = (ans + v) % MOD;
241+
}
242+
243+
return ans;
244+
}
245+
```
246+
208247
### **...**
209248

210249
```
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
function knightDialer(n: number): number {
2+
const MOD: number = 1e9 + 7;
3+
4+
if (n === 1) {
5+
return 10;
6+
}
7+
8+
const f: number[] = new Array(10).fill(1);
9+
10+
while (--n > 0) {
11+
const t: number[] = new Array(10).fill(0);
12+
13+
t[0] = f[4] + f[6];
14+
t[1] = f[6] + f[8];
15+
t[2] = f[7] + f[9];
16+
t[3] = f[4] + f[8];
17+
t[4] = f[0] + f[3] + f[9];
18+
t[6] = f[0] + f[1] + f[7];
19+
t[7] = f[2] + f[6];
20+
t[8] = f[1] + f[3];
21+
t[9] = f[2] + f[4];
22+
23+
for (let i = 0; i < 10; ++i) {
24+
f[i] = t[i] % MOD;
25+
}
26+
}
27+
28+
let ans: number = 0;
29+
for (const v of f) {
30+
ans = (ans + v) % MOD;
31+
}
32+
33+
return ans;
34+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /