From f19903525f2050437d4fa272554c7dfd1c8f2d8f Mon Sep 17 00:00:00 2001 From: rain84 Date: Tue, 20 Aug 2024 03:43:23 +0300 Subject: [PATCH] feat: add js/ts solutions to lc problem: No.0650 --- .../0600-0699/0650.2 Keys Keyboard/README.md | 42 +++++++++++++++++++ .../0650.2 Keys Keyboard/README_EN.md | 42 +++++++++++++++++++ .../0650.2 Keys Keyboard/Solution2.js | 18 ++++++++ .../0650.2 Keys Keyboard/Solution2.ts | 14 +++++++ 4 files changed, 116 insertions(+) create mode 100644 solution/0600-0699/0650.2 Keys Keyboard/Solution2.js create mode 100644 solution/0600-0699/0650.2 Keys Keyboard/Solution2.ts diff --git a/solution/0600-0699/0650.2 Keys Keyboard/README.md b/solution/0600-0699/0650.2 Keys Keyboard/README.md index ba78770327fee..d51b7380a9ad7 100644 --- a/solution/0600-0699/0650.2 Keys Keyboard/README.md +++ b/solution/0600-0699/0650.2 Keys Keyboard/README.md @@ -277,6 +277,48 @@ func minSteps(n int) int { } ``` +#### TypeScript + +```ts +function minSteps(n: number): number { + const dp = Array(n + 1).fill(1000); + dp[1] = 0; + + for (let i = 2; i <= n; i++) { + for (let j = 1, half = i / 2; j <= half; j++) { + if (i % j === 0) { + dp[i] = Math.min(dp[i], dp[j] + i / j); + } + } + } + + return dp[n]; +} +``` + +#### JavaScript + +```js +/** + * @param {number} n + * @return {number} + */ +var minSteps = function (n) { + const dp = Array(n + 1).fill(1000); + dp[1] = 0; + + for (let i = 2; i <= n; i++) { + for (let j = 1, half = i / 2; j <= half; j++) { + if (i % j === 0) { + dp[i] = Math.min(dp[i], dp[j] + i / j); + } + } + } + + return dp[n]; +}; +``` + diff --git a/solution/0600-0699/0650.2 Keys Keyboard/README_EN.md b/solution/0600-0699/0650.2 Keys Keyboard/README_EN.md index e7bb4600ebb1f..6d2c02c659b91 100644 --- a/solution/0600-0699/0650.2 Keys Keyboard/README_EN.md +++ b/solution/0600-0699/0650.2 Keys Keyboard/README_EN.md @@ -256,6 +256,48 @@ func minSteps(n int) int { } ``` +#### TypeScript + +```ts +function minSteps(n: number): number { + const dp = Array(n + 1).fill(1000); + dp[1] = 0; + + for (let i = 2; i <= n; i++) { + for (let j = 1, half = i / 2; j <= half; j++) { + if (i % j === 0) { + dp[i] = Math.min(dp[i], dp[j] + i / j); + } + } + } + + return dp[n]; +} +``` + +#### JavaScript + +```js +/** + * @param {number} n + * @return {number} + */ +var minSteps = function (n) { + const dp = Array(n + 1).fill(1000); + dp[1] = 0; + + for (let i = 2; i <= n; i++) { + for (let j = 1, half = i / 2; j <= half; j++) { + if (i % j === 0) { + dp[i] = Math.min(dp[i], dp[j] + i / j); + } + } + } + + return dp[n]; +}; +``` + diff --git a/solution/0600-0699/0650.2 Keys Keyboard/Solution2.js b/solution/0600-0699/0650.2 Keys Keyboard/Solution2.js new file mode 100644 index 0000000000000..45a43bd55defb --- /dev/null +++ b/solution/0600-0699/0650.2 Keys Keyboard/Solution2.js @@ -0,0 +1,18 @@ +/** + * @param {number} n + * @return {number} + */ +var minSteps = function (n) { + const dp = Array(n + 1).fill(1000); + dp[1] = 0; + + for (let i = 2; i <= n; i++) { + for (let j = 1, half = i / 2; j <= half; j++) { + if (i % j === 0) { + dp[i] = Math.min(dp[i], dp[j] + i / j); + } + } + } + + return dp[n]; +}; diff --git a/solution/0600-0699/0650.2 Keys Keyboard/Solution2.ts b/solution/0600-0699/0650.2 Keys Keyboard/Solution2.ts new file mode 100644 index 0000000000000..457c19dd1ea29 --- /dev/null +++ b/solution/0600-0699/0650.2 Keys Keyboard/Solution2.ts @@ -0,0 +1,14 @@ +function minSteps(n: number): number { + const dp = Array(n + 1).fill(1000); + dp[1] = 0; + + for (let i = 2; i <= n; i++) { + for (let j = 1, half = i / 2; j <= half; j++) { + if (i % j === 0) { + dp[i] = Math.min(dp[i], dp[j] + i / j); + } + } + } + + return dp[n]; +}