You are given an integer array nums of length n and an integer k.
You must partition the array into k contiguous subarrays of equal length and reverse each subarray.
It is guaranteed that n is divisible by k.
Return the resulting array after performing the above operation.
Example 1:
Input: nums = [1,2,4,3,5,6], k = 3
Output: [2,1,3,4,6,5]
Explanation:
k = 3 subarrays: [1, 2], [4, 3], and [5, 6].[2, 1], [3, 4], and [6, 5].[2, 1, 3, 4, 6, 5].Example 2:
Input: nums = [5,4,4,2], k = 1
Output: [2,4,4,5]
Explanation:
k = 1 subarray: [5, 4, 4, 2].[2, 4, 4, 5], which is the final array.
Constraints:
1 <= n == nums.length <= 10001 <= nums[i] <= 10001 <= k <= nn is divisible by k.Since we need to partition the array into k subarrays of equal length, the length of each subarray is m = \frac{n}{k}. We can use a loop to traverse the array with a step size of m, and in each iteration, reverse the current subarray.
The time complexity is O(n), where n is the length of the array nums. The space complexity is O(1), as we only use a constant amount of extra space.
Java
C++
Go
TypeScript
Rust
Practice Reverse K Subarrays with our built-in code editor and test cases.
Practice on FleetCodePractice this problem
Open in Editor