Skip to content

Commit b875726

Browse files
authored
feat: add js/ts solutions to lc problem: No.0650 (doocs#3434)
1 parent 149af36 commit b875726

File tree

4 files changed

+116
-0
lines changed

4 files changed

+116
-0
lines changed

solution/0600-0699/0650.2 Keys Keyboard/README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,48 @@ func minSteps(n int) int {
277277
}
278278
```
279279

280+
#### TypeScript
281+
282+
```ts
283+
function minSteps(n: number): number {
284+
const dp = Array(n + 1).fill(1000);
285+
dp[1] = 0;
286+
287+
for (let i = 2; i <= n; i++) {
288+
for (let j = 1, half = i / 2; j <= half; j++) {
289+
if (i % j === 0) {
290+
dp[i] = Math.min(dp[i], dp[j] + i / j);
291+
}
292+
}
293+
}
294+
295+
return dp[n];
296+
}
297+
```
298+
299+
#### JavaScript
300+
301+
```js
302+
/**
303+
* @param {number} n
304+
* @return {number}
305+
*/
306+
var minSteps = function (n) {
307+
const dp = Array(n + 1).fill(1000);
308+
dp[1] = 0;
309+
310+
for (let i = 2; i <= n; i++) {
311+
for (let j = 1, half = i / 2; j <= half; j++) {
312+
if (i % j === 0) {
313+
dp[i] = Math.min(dp[i], dp[j] + i / j);
314+
}
315+
}
316+
}
317+
318+
return dp[n];
319+
};
320+
```
321+
280322
<!-- tabs:end -->
281323

282324
<!-- solution:end -->

solution/0600-0699/0650.2 Keys Keyboard/README_EN.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,48 @@ func minSteps(n int) int {
256256
}
257257
```
258258

259+
#### TypeScript
260+
261+
```ts
262+
function minSteps(n: number): number {
263+
const dp = Array(n + 1).fill(1000);
264+
dp[1] = 0;
265+
266+
for (let i = 2; i <= n; i++) {
267+
for (let j = 1, half = i / 2; j <= half; j++) {
268+
if (i % j === 0) {
269+
dp[i] = Math.min(dp[i], dp[j] + i / j);
270+
}
271+
}
272+
}
273+
274+
return dp[n];
275+
}
276+
```
277+
278+
#### JavaScript
279+
280+
```js
281+
/**
282+
* @param {number} n
283+
* @return {number}
284+
*/
285+
var minSteps = function (n) {
286+
const dp = Array(n + 1).fill(1000);
287+
dp[1] = 0;
288+
289+
for (let i = 2; i <= n; i++) {
290+
for (let j = 1, half = i / 2; j <= half; j++) {
291+
if (i % j === 0) {
292+
dp[i] = Math.min(dp[i], dp[j] + i / j);
293+
}
294+
}
295+
}
296+
297+
return dp[n];
298+
};
299+
```
300+
259301
<!-- tabs:end -->
260302

261303
<!-- solution:end -->
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var minSteps = function (n) {
6+
const dp = Array(n + 1).fill(1000);
7+
dp[1] = 0;
8+
9+
for (let i = 2; i <= n; i++) {
10+
for (let j = 1, half = i / 2; j <= half; j++) {
11+
if (i % j === 0) {
12+
dp[i] = Math.min(dp[i], dp[j] + i / j);
13+
}
14+
}
15+
}
16+
17+
return dp[n];
18+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
function minSteps(n: number): number {
2+
const dp = Array(n + 1).fill(1000);
3+
dp[1] = 0;
4+
5+
for (let i = 2; i <= n; i++) {
6+
for (let j = 1, half = i / 2; j <= half; j++) {
7+
if (i % j === 0) {
8+
dp[i] = Math.min(dp[i], dp[j] + i / j);
9+
}
10+
}
11+
}
12+
13+
return dp[n];
14+
}

0 commit comments

Comments
 (0)