From 6dc30aed609f61521ce00bb5c6220081b53583ba Mon Sep 17 00:00:00 2001 From: KimYangOfCat Date: Fri, 11 Feb 2022 22:39:33 +0800 Subject: [PATCH 1/7] feat: add one JS solution of 189 --- .../0100-0199/0189.Rotate Array/README.md | 28 +++++++++++++++++++ .../0100-0199/0189.Rotate Array/README_EN.md | 28 +++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/solution/0100-0199/0189.Rotate Array/README.md b/solution/0100-0199/0189.Rotate Array/README.md index fda594571fd5a..bc48a35766eae 100644 --- a/solution/0100-0199/0189.Rotate Array/README.md +++ b/solution/0100-0199/0189.Rotate Array/README.md @@ -174,7 +174,35 @@ impl Solution { } } ``` +### **JavaScript** + + + +使用三次数组翻转 +```js +/** + * @param {number[]} nums + * @param {number} k + * @return {void} Do not return anything, modify nums in-place instead. + */ + var rotate = function(nums, k) { + k%=nums.length; + reverse(nums,0,nums.length-1); + reverse(nums,0,k-1); + reverse(nums,k,nums.length-1); + +}; +function reverse(nums,start,end){ + while(start Date: Fri, 11 Feb 2022 22:58:52 +0800 Subject: [PATCH 2/7] chore: format --- .../0100-0199/0189.Rotate Array/README.md | 55 +++++++++--------- .../0100-0199/0189.Rotate Array/README_EN.md | 56 +++++++++---------- 2 files changed, 55 insertions(+), 56 deletions(-) diff --git a/solution/0100-0199/0189.Rotate Array/README.md b/solution/0100-0199/0189.Rotate Array/README.md index bc48a35766eae..c884da10f57bc 100644 --- a/solution/0100-0199/0189.Rotate Array/README.md +++ b/solution/0100-0199/0189.Rotate Array/README.md @@ -136,6 +136,33 @@ var rotate = function (nums, k) { }; ``` +使用三次数组翻转 + +```js +/** + * @param {number[]} nums + * @param {number} k + * @return {void} Do not return anything, modify nums in-place instead. + */ + var rotate = function(nums, k) { + k%=nums.length; + //使用三次数组翻转 + reverse(nums,0,nums.length-1); + reverse(nums,0,k-1); + reverse(nums,k,nums.length-1); + +}; +function reverse(nums,start,end){ + while(start - -使用三次数组翻转 - -```js -/** - * @param {number[]} nums - * @param {number} k - * @return {void} Do not return anything, modify nums in-place instead. - */ - var rotate = function(nums, k) { - k%=nums.length; - reverse(nums,0,nums.length-1); - reverse(nums,0,k-1); - reverse(nums,k,nums.length-1); - -}; -function reverse(nums,start,end){ - while(start Date: Fri, 11 Feb 2022 23:01:48 +0800 Subject: [PATCH 3/7] chore: format code --- .../0100-0199/0189.Rotate Array/README.md | 24 +++++++++---------- .../0100-0199/0189.Rotate Array/README_EN.md | 20 ++++++++-------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/solution/0100-0199/0189.Rotate Array/README.md b/solution/0100-0199/0189.Rotate Array/README.md index c884da10f57bc..55c52a92f9975 100644 --- a/solution/0100-0199/0189.Rotate Array/README.md +++ b/solution/0100-0199/0189.Rotate Array/README.md @@ -144,21 +144,21 @@ var rotate = function (nums, k) { * @param {number} k * @return {void} Do not return anything, modify nums in-place instead. */ - var rotate = function(nums, k) { - k%=nums.length; - //使用三次数组翻转 - reverse(nums,0,nums.length-1); - reverse(nums,0,k-1); - reverse(nums,k,nums.length-1); +var rotate = function(nums, k) { + k %= nums.length; + // 使用三次数组翻转 + reverse(nums, 0, nums.length-1); + reverse(nums, 0, k-1); + reverse(nums, k, nums.length-1); }; -function reverse(nums,start,end){ - while(start Date: Fri, 11 Feb 2022 23:08:40 +0800 Subject: [PATCH 4/7] chore: update info --- solution/0100-0199/0189.Rotate Array/README.md | 3 ++- solution/0100-0199/0189.Rotate Array/README_EN.md | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/solution/0100-0199/0189.Rotate Array/README.md b/solution/0100-0199/0189.Rotate Array/README.md index 55c52a92f9975..829be9dd0f480 100644 --- a/solution/0100-0199/0189.Rotate Array/README.md +++ b/solution/0100-0199/0189.Rotate Array/README.md @@ -136,7 +136,7 @@ var rotate = function (nums, k) { }; ``` -使用三次数组翻转 +使用三次数组翻转 + 双指针实现翻转 ```js /** @@ -153,6 +153,7 @@ var rotate = function(nums, k) { }; function reverse(nums, start, end){ + //双指针实现翻转 while(start < end){ const temp = nums[start]; nums[start] = nums[end]; diff --git a/solution/0100-0199/0189.Rotate Array/README_EN.md b/solution/0100-0199/0189.Rotate Array/README_EN.md index 938c7e29cfe32..b490c50ca0441 100644 --- a/solution/0100-0199/0189.Rotate Array/README_EN.md +++ b/solution/0100-0199/0189.Rotate Array/README_EN.md @@ -112,7 +112,8 @@ var rotate = function (nums, k) { nums.splice(0, 0, ...nums.splice(-k, k)); }; ``` -Use three array flips + +Use three array reverses implemented by double pointers ```js /** @@ -129,6 +130,7 @@ Use three array flips }; function reverse(nums, start, end){ + // reverse implemented by double pointers while(start < end){ const temp = nums[start]; nums[start] = nums[end]; From ebc9416abc4805c84d2bb1d337eca2469a4a0f26 Mon Sep 17 00:00:00 2001 From: KimYangOfCat Date: Fri, 11 Feb 2022 23:12:30 +0800 Subject: [PATCH 5/7] chore: format code --- solution/0100-0199/0189.Rotate Array/README.md | 12 ++++++------ solution/0100-0199/0189.Rotate Array/README_EN.md | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/solution/0100-0199/0189.Rotate Array/README.md b/solution/0100-0199/0189.Rotate Array/README.md index 829be9dd0f480..93a68ac5e3d08 100644 --- a/solution/0100-0199/0189.Rotate Array/README.md +++ b/solution/0100-0199/0189.Rotate Array/README.md @@ -144,17 +144,17 @@ var rotate = function (nums, k) { * @param {number} k * @return {void} Do not return anything, modify nums in-place instead. */ -var rotate = function(nums, k) { +var rotate = function (nums, k) { k %= nums.length; // 使用三次数组翻转 - reverse(nums, 0, nums.length-1); - reverse(nums, 0, k-1); - reverse(nums, k, nums.length-1); + reverse(nums, 0, nums.length - 1); + reverse(nums, 0, k - 1); + reverse(nums, k, nums.length - 1); }; -function reverse(nums, start, end){ +function reverse(nums, start, end) { //双指针实现翻转 - while(start < end){ + while (start < end) { const temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; diff --git a/solution/0100-0199/0189.Rotate Array/README_EN.md b/solution/0100-0199/0189.Rotate Array/README_EN.md index b490c50ca0441..87d34d6f19f61 100644 --- a/solution/0100-0199/0189.Rotate Array/README_EN.md +++ b/solution/0100-0199/0189.Rotate Array/README_EN.md @@ -121,17 +121,17 @@ Use three array reverses implemented by double pointers * @param {number} k * @return {void} Do not return anything, modify nums in-place instead. */ - var rotate = function(nums, k) { + var rotate = function (nums, k) { k %= nums.length; // Use three array flips - reverse(nums, 0, nums.length-1); - reverse(nums, 0, k-1); - reverse(nums, k, nums.length-1); + reverse(nums, 0, nums.length - 1); + reverse(nums, 0, k - 1); + reverse(nums, k, nums.length - 1); }; -function reverse(nums, start, end){ +function reverse(nums, start, end) { // reverse implemented by double pointers - while(start < end){ + while (start < end) { const temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; From a0b242e8c7218626837c9f5c7654cb359e46ca50 Mon Sep 17 00:00:00 2001 From: KimYangOfCat Date: Fri, 11 Feb 2022 23:13:35 +0800 Subject: [PATCH 6/7] chore: update info --- solution/0100-0199/0189.Rotate Array/README_EN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0100-0199/0189.Rotate Array/README_EN.md b/solution/0100-0199/0189.Rotate Array/README_EN.md index 87d34d6f19f61..bcefe1ecc839b 100644 --- a/solution/0100-0199/0189.Rotate Array/README_EN.md +++ b/solution/0100-0199/0189.Rotate Array/README_EN.md @@ -123,7 +123,7 @@ Use three array reverses implemented by double pointers */ var rotate = function (nums, k) { k %= nums.length; - // Use three array flips + // Use three array reverses reverse(nums, 0, nums.length - 1); reverse(nums, 0, k - 1); reverse(nums, k, nums.length - 1); From cb62a44eb1fd7433c44124d97a19aabaee15c675 Mon Sep 17 00:00:00 2001 From: KimYangOfCat Date: Fri, 11 Feb 2022 23:15:24 +0800 Subject: [PATCH 7/7] chore: format comment --- solution/0100-0199/0189.Rotate Array/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0100-0199/0189.Rotate Array/README.md b/solution/0100-0199/0189.Rotate Array/README.md index 93a68ac5e3d08..e0d81527160be 100644 --- a/solution/0100-0199/0189.Rotate Array/README.md +++ b/solution/0100-0199/0189.Rotate Array/README.md @@ -153,7 +153,7 @@ var rotate = function (nums, k) { }; function reverse(nums, start, end) { - //双指针实现翻转 + // 双指针实现翻转 while (start < end) { const temp = nums[start]; nums[start] = nums[end];