DSA Patterns (Multi-Lang)•Part 2: Arrays, Strings & Hash Maps (6 - 18)
Rotate Array.
In Simple Words: In-place 3-step reversal trick:
- Reverse the entire array.
- Reverse the first $k$ elements.
- Reverse the remaining $N - k$ elements.
- Time: $O(N)$ | Space: $O(1)$
Multi-Language SolutionsPython 3 • JavaScript • TypeScript • Java • C++
Switch tabs or choose Alldef rotate(nums: list[int], k: int) -> None:
k = k % len(nums)
def reverse(l, r):
while l < r:
nums[l], nums[r] = nums[r], nums[l]
l += 1; r -= 1
reverse(0, len(nums) - 1)
reverse(0, k - 1)
reverse(k, len(nums) - 1)