From 36b7a7895c5cc92c05b5cafe5b360b400c55a883 Mon Sep 17 00:00:00 2001 From: rain84 Date: Tue, 9 Jul 2024 23:52:45 +0300 Subject: [PATCH 1/3] feat: add ts solution to lc problem: No.0967x --- .../README.md | 29 +++++++++++++++++++ .../README_EN.md | 29 +++++++++++++++++++ .../Solution.ts | 24 +++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md index 96abb63003f46..2a3a14ab7251e 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md @@ -178,6 +178,35 @@ func numsSameConsecDiff(n int, k int) []int { } ``` +#### TypeScript + +```ts +function numsSameConsecDiff(n: number, k: number): number[] { + const res = new Set(); + const boundary = 10 ** (n - 1); + + const dfs = (nums: number) => { + if (nums >= boundary) { + res.add(nums); + return; + } + + const num = nums % 10; + for (const x of [num + k, num - k]) { + if (0 <= x && x < 10) { + dfs(nums * 10 + x); + } + } + }; + + for (let i = 1; i < 10; i++) { + dfs(i); + } + + return [...res]; +} +``` + diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md index fa6a8d6bf0c8e..9a4da3f09c03b 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md @@ -161,6 +161,35 @@ func numsSameConsecDiff(n int, k int) []int { } ``` +#### TypeScript + +```ts +function numsSameConsecDiff(n: number, k: number): number[] { + const res = new Set(); + const boundary = 10 ** (n - 1); + + const dfs = (nums: number) => { + if (nums >= boundary) { + res.add(nums); + return; + } + + const num = nums % 10; + for (const x of [num + k, num - k]) { + if (0 <= x && x < 10) { + dfs(nums * 10 + x); + } + } + }; + + for (let i = 1; i < 10; i++) { + dfs(i); + } + + return [...res]; +} +``` + diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts new file mode 100644 index 0000000000000..0d131e896929b --- /dev/null +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts @@ -0,0 +1,24 @@ +function numsSameConsecDiff(n: number, k: number): number[] { + const res = new Set(); + const boundary = 10 ** (n - 1); + + const dfs = (nums: number) => { + if (nums >= boundary) { + res.add(nums); + return; + } + + const num = nums % 10; + for (const x of [num + k, num - k]) { + if (0 <= x && x < 10) { + dfs(nums * 10 + x); + } + } + }; + + for (let i = 1; i < 10; i++) { + dfs(i); + } + + return [...res]; +} From 707d22023b188f971771f005630f3e45cc49819d Mon Sep 17 00:00:00 2001 From: rain84 Date: Tue, 9 Jul 2024 23:54:39 +0300 Subject: [PATCH 2/3] feat: add js solution to lc problem: No.0967 --- .../README.md | 29 +++++++++++++++++++ .../README_EN.md | 29 +++++++++++++++++++ .../Solution.js | 24 +++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md index 2a3a14ab7251e..dd366e98bb3a6 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md @@ -207,6 +207,35 @@ function numsSameConsecDiff(n: number, k: number): number[] { } ``` +#### JavaScript + +```ts +function numsSameConsecDiff(n, k) { + const res = new Set(); + const boundary = 10 ** (n - 1); + + const dfs = nums => { + if (nums >= boundary) { + res.add(nums); + return; + } + + const num = nums % 10; + for (const x of [num + k, num - k]) { + if (0 <= x && x < 10) { + dfs(nums * 10 + x); + } + } + }; + + for (let i = 1; i < 10; i++) { + dfs(i); + } + + return [...res]; +} +``` + diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md index 9a4da3f09c03b..43deddd3201d6 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md @@ -190,6 +190,35 @@ function numsSameConsecDiff(n: number, k: number): number[] { } ``` +#### JavaScript + +```js +function numsSameConsecDiff(n: number, k: number): number[] { + const res = new Set(); + const boundary = 10 ** (n - 1); + + const dfs = (nums: number) => { + if (nums >= boundary) { + res.add(nums); + return; + } + + const num = nums % 10; + for (const x of [num + k, num - k]) { + if (0 <= x && x < 10) { + dfs(nums * 10 + x); + } + } + }; + + for (let i = 1; i < 10; i++) { + dfs(i); + } + + return [...res]; +} +``` + diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js new file mode 100644 index 0000000000000..be2be698ce5a1 --- /dev/null +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js @@ -0,0 +1,24 @@ +function numsSameConsecDiff(n, k) { + const res = new Set(); + const boundary = 10 ** (n - 1); + + const dfs = nums => { + if (nums >= boundary) { + res.add(nums); + return; + } + + const num = nums % 10; + for (const x of [num + k, num - k]) { + if (0 <= x && x < 10) { + dfs(nums * 10 + x); + } + } + }; + + for (let i = 1; i < 10; i++) { + dfs(i); + } + + return [...res]; +} From 0524eeea8d6ac24c7b3c537511c2d133094796e6 Mon Sep 17 00:00:00 2001 From: rain84 Date: Wed, 10 Jul 2024 00:24:06 +0300 Subject: [PATCH 3/3] feat: update js/ts solutions to lc problem: No.0967 --- .../README.md | 14 +++++++------- .../README_EN.md | 16 ++++++++-------- .../Solution.js | 6 +++--- .../Solution.ts | 6 +++--- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md index dd366e98bb3a6..41251e6250970 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README.md @@ -182,12 +182,12 @@ func numsSameConsecDiff(n int, k int) []int { ```ts function numsSameConsecDiff(n: number, k: number): number[] { - const res = new Set(); + const ans = new Set(); const boundary = 10 ** (n - 1); const dfs = (nums: number) => { if (nums >= boundary) { - res.add(nums); + ans.add(nums); return; } @@ -203,20 +203,20 @@ function numsSameConsecDiff(n: number, k: number): number[] { dfs(i); } - return [...res]; + return [...ans]; } ``` #### JavaScript -```ts +```js function numsSameConsecDiff(n, k) { - const res = new Set(); + const ans = new Set(); const boundary = 10 ** (n - 1); const dfs = nums => { if (nums >= boundary) { - res.add(nums); + ans.add(nums); return; } @@ -232,7 +232,7 @@ function numsSameConsecDiff(n, k) { dfs(i); } - return [...res]; + return [...ans]; } ``` diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md index 43deddd3201d6..07361120c47c5 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/README_EN.md @@ -165,12 +165,12 @@ func numsSameConsecDiff(n int, k int) []int { ```ts function numsSameConsecDiff(n: number, k: number): number[] { - const res = new Set(); + const ans = new Set(); const boundary = 10 ** (n - 1); const dfs = (nums: number) => { if (nums >= boundary) { - res.add(nums); + ans.add(nums); return; } @@ -186,20 +186,20 @@ function numsSameConsecDiff(n: number, k: number): number[] { dfs(i); } - return [...res]; + return [...ans]; } ``` #### JavaScript ```js -function numsSameConsecDiff(n: number, k: number): number[] { - const res = new Set(); +function numsSameConsecDiff(n, k) { + const ans = new Set(); const boundary = 10 ** (n - 1); - const dfs = (nums: number) => { + const dfs = nums => { if (nums >= boundary) { - res.add(nums); + ans.add(nums); return; } @@ -215,7 +215,7 @@ function numsSameConsecDiff(n: number, k: number): number[] { dfs(i); } - return [...res]; + return [...ans]; } ``` diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js index be2be698ce5a1..29fe44aa4c446 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.js @@ -1,10 +1,10 @@ function numsSameConsecDiff(n, k) { - const res = new Set(); + const ans = new Set(); const boundary = 10 ** (n - 1); const dfs = nums => { if (nums >= boundary) { - res.add(nums); + ans.add(nums); return; } @@ -20,5 +20,5 @@ function numsSameConsecDiff(n, k) { dfs(i); } - return [...res]; + return [...ans]; } diff --git a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts index 0d131e896929b..8da7c4da8a91c 100644 --- a/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts +++ b/solution/0900-0999/0967.Numbers With Same Consecutive Differences/Solution.ts @@ -1,10 +1,10 @@ function numsSameConsecDiff(n: number, k: number): number[] { - const res = new Set(); + const ans = new Set(); const boundary = 10 ** (n - 1); const dfs = (nums: number) => { if (nums >= boundary) { - res.add(nums); + ans.add(nums); return; } @@ -20,5 +20,5 @@ function numsSameConsecDiff(n: number, k: number): number[] { dfs(i); } - return [...res]; + return [...ans]; }