diff --git a/solution/1200-1299/1289.Minimum Falling Path Sum II/README.md b/solution/1200-1299/1289.Minimum Falling Path Sum II/README.md index 65933ac4cde6b..ab2f474647806 100644 --- a/solution/1200-1299/1289.Minimum Falling Path Sum II/README.md +++ b/solution/1200-1299/1289.Minimum Falling Path Sum II/README.md @@ -54,7 +54,28 @@ ```java - +class Solution { + public void rotate(int[] nums, int k) { + int[] res = new int[nums.length]; + int leftInit = 0; + if (nums.length < k) { + k = k % nums.length; + } + for (int i = nums.length - k; i < nums.length; i++) { + res[leftInit] = nums[i]; + leftInit++; + } + int rightInit = 0; + for (int i = k; i < nums.length; i++) { + res[i] = nums[rightInit]; + rightInit++; + } + for (int i = 0; i < nums.length; i++) { + nums[i] = res[i]; + } + + } +} ``` ### **...** diff --git a/solution/1200-1299/1289.Minimum Falling Path Sum II/README_EN.md b/solution/1200-1299/1289.Minimum Falling Path Sum II/README_EN.md index 595dcc18e41e0..0ad96d55abb3b 100644 --- a/solution/1200-1299/1289.Minimum Falling Path Sum II/README_EN.md +++ b/solution/1200-1299/1289.Minimum Falling Path Sum II/README_EN.md @@ -44,7 +44,28 @@ The falling path with the smallest sum is [1,5,7], so the answer is 13 ### **Java** ```java - +class Solution { + public void rotate(int[] nums, int k) { + int[] res = new int[nums.length]; + int leftInit = 0; + if (nums.length < k) { + k = k % nums.length; + } + for (int i = nums.length - k; i < nums.length; i++) { + res[leftInit] = nums[i]; + leftInit++; + } + int rightInit = 0; + for (int i = k; i < nums.length; i++) { + res[i] = nums[rightInit]; + rightInit++; + } + for (int i = 0; i < nums.length; i++) { + nums[i] = res[i]; + } + + } +} ``` ### **...** diff --git a/solution/1200-1299/1289.Minimum Falling Path Sum II/Solution.java b/solution/1200-1299/1289.Minimum Falling Path Sum II/Solution.java new file mode 100644 index 0000000000000..302794d7a78d6 --- /dev/null +++ b/solution/1200-1299/1289.Minimum Falling Path Sum II/Solution.java @@ -0,0 +1,22 @@ +class Solution { + public void rotate(int[] nums, int k) { + int[] res = new int[nums.length]; + int leftInit = 0; + if (nums.length < k) { + k = k % nums.length; + } + for (int i = nums.length - k; i < nums.length; i++) { + res[leftInit] = nums[i]; + leftInit++; + } + int rightInit = 0; + for (int i = k; i < nums.length; i++) { + res[i] = nums[rightInit]; + rightInit++; + } + for (int i = 0; i < nums.length; i++) { + nums[i] = res[i]; + } + + } +} \ No newline at end of file