From 2e2caa4b9d64711529c0838617c656fb92d3aa0d Mon Sep 17 00:00:00 2001 From: rain84 Date: Mon, 3 Jun 2024 17:54:59 +0300 Subject: [PATCH 1/4] refactor: update TS solution to lc problem: No.1306 --- .../1300-1399/1306.Jump Game III/README.md | 22 +++++++++---------- .../1300-1399/1306.Jump Game III/README_EN.md | 22 +++++++++---------- .../1300-1399/1306.Jump Game III/Solution.ts | 22 +++++++++---------- 3 files changed, 30 insertions(+), 36 deletions(-) diff --git a/solution/1300-1399/1306.Jump Game III/README.md b/solution/1300-1399/1306.Jump Game III/README.md index f2eeb23eaf36e..b8e6ff99cb44b 100644 --- a/solution/1300-1399/1306.Jump Game III/README.md +++ b/solution/1300-1399/1306.Jump Game III/README.md @@ -180,20 +180,18 @@ func canReach(arr []int, start int) bool { ```ts function canReach(arr: number[], start: number): boolean { - const q: number[] = [start]; - while (q.length) { - const i: number = q.shift()!; - if (arr[i] === 0) { - return true; - } - const x: number = arr[i]; + const q = [start]; + + for (const i of q) { + if (arr[i] === 0) return true; + if (arr[i] === -1 || arr[i] === undefined) continue; + + q.push(i + arr[i]); + q.push(i - arr[i]); + arr[i] = -1; - for (const j of [i + x, i - x]) { - if (j >= 0 && j < arr.length && arr[j] !== -1) { - q.push(j); - } - } } + return false; } ``` diff --git a/solution/1300-1399/1306.Jump Game III/README_EN.md b/solution/1300-1399/1306.Jump Game III/README_EN.md index d953b2027badf..8a3b3c836ed82 100644 --- a/solution/1300-1399/1306.Jump Game III/README_EN.md +++ b/solution/1300-1399/1306.Jump Game III/README_EN.md @@ -169,20 +169,18 @@ func canReach(arr []int, start int) bool { ```ts function canReach(arr: number[], start: number): boolean { - const q: number[] = [start]; - while (q.length) { - const i: number = q.shift()!; - if (arr[i] === 0) { - return true; - } - const x: number = arr[i]; + const q = [start]; + + for (const i of q) { + if (arr[i] === 0) return true; + if (arr[i] === -1 || arr[i] === undefined) continue; + + q.push(i + arr[i]); + q.push(i - arr[i]); + arr[i] = -1; - for (const j of [i + x, i - x]) { - if (j >= 0 && j < arr.length && arr[j] !== -1) { - q.push(j); - } - } } + return false; } ``` diff --git a/solution/1300-1399/1306.Jump Game III/Solution.ts b/solution/1300-1399/1306.Jump Game III/Solution.ts index de84eb9fc180b..0263630e5b6a3 100644 --- a/solution/1300-1399/1306.Jump Game III/Solution.ts +++ b/solution/1300-1399/1306.Jump Game III/Solution.ts @@ -1,17 +1,15 @@ function canReach(arr: number[], start: number): boolean { - const q: number[] = [start]; - while (q.length) { - const i: number = q.shift()!; - if (arr[i] === 0) { - return true; - } - const x: number = arr[i]; + const q = [start]; + + for (const i of q) { + if (arr[i] === 0) return true; + if (arr[i] === -1 || arr[i] === undefined) continue; + + q.push(i + arr[i]); + q.push(i - arr[i]); + arr[i] = -1; - for (const j of [i + x, i - x]) { - if (j >= 0 && j < arr.length && arr[j] !== -1) { - q.push(j); - } - } } + return false; } From 454270894ea7e44573bcd8193ff6754cc2eeff07 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Tue, 4 Jun 2024 08:04:59 +0800 Subject: [PATCH 2/4] Update Solution.ts --- solution/1300-1399/1306.Jump Game III/Solution.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/solution/1300-1399/1306.Jump Game III/Solution.ts b/solution/1300-1399/1306.Jump Game III/Solution.ts index 0263630e5b6a3..8d5ffe84b9914 100644 --- a/solution/1300-1399/1306.Jump Game III/Solution.ts +++ b/solution/1300-1399/1306.Jump Game III/Solution.ts @@ -1,15 +1,14 @@ function canReach(arr: number[], start: number): boolean { const q = [start]; - for (const i of q) { - if (arr[i] === 0) return true; - if (arr[i] === -1 || arr[i] === undefined) continue; - - q.push(i + arr[i]); - q.push(i - arr[i]); - + if (arr[i] === 0) { + return true; + } + if (arr[i] === -1 || arr[i] === undefined) { + continue; + } + q.push(i + arr[i], i - arr[i]); arr[i] = -1; } - return false; } From 69c51074cf2eeb9673842878b16bf9f94bb01a65 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Tue, 4 Jun 2024 08:05:14 +0800 Subject: [PATCH 3/4] Update README_EN.md --- .../1300-1399/1306.Jump Game III/README_EN.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/solution/1300-1399/1306.Jump Game III/README_EN.md b/solution/1300-1399/1306.Jump Game III/README_EN.md index 8a3b3c836ed82..e50adc18433f1 100644 --- a/solution/1300-1399/1306.Jump Game III/README_EN.md +++ b/solution/1300-1399/1306.Jump Game III/README_EN.md @@ -170,17 +170,16 @@ func canReach(arr []int, start int) bool { ```ts function canReach(arr: number[], start: number): boolean { const q = [start]; - for (const i of q) { - if (arr[i] === 0) return true; - if (arr[i] === -1 || arr[i] === undefined) continue; - - q.push(i + arr[i]); - q.push(i - arr[i]); - + if (arr[i] === 0) { + return true; + } + if (arr[i] === -1 || arr[i] === undefined) { + continue; + } + q.push(i + arr[i], i - arr[i]); arr[i] = -1; } - return false; } ``` From 491907ce569cc40df4a1821d5eb96afb541074e6 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Tue, 4 Jun 2024 08:05:25 +0800 Subject: [PATCH 4/4] Update README.md --- solution/1300-1399/1306.Jump Game III/README.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/solution/1300-1399/1306.Jump Game III/README.md b/solution/1300-1399/1306.Jump Game III/README.md index b8e6ff99cb44b..c2d8602c1b639 100644 --- a/solution/1300-1399/1306.Jump Game III/README.md +++ b/solution/1300-1399/1306.Jump Game III/README.md @@ -181,17 +181,16 @@ func canReach(arr []int, start int) bool { ```ts function canReach(arr: number[], start: number): boolean { const q = [start]; - for (const i of q) { - if (arr[i] === 0) return true; - if (arr[i] === -1 || arr[i] === undefined) continue; - - q.push(i + arr[i]); - q.push(i - arr[i]); - + if (arr[i] === 0) { + return true; + } + if (arr[i] === -1 || arr[i] === undefined) { + continue; + } + q.push(i + arr[i], i - arr[i]); arr[i] = -1; } - return false; } ```