
Problem
Solution
Submissions
Rotate Array by K Steps
Certification: Basic Level
Accuracy: 0%
Submissions: 0
Points: 5
Write a JavaScript program to rotate an array to the right by k steps. Each element should move k positions to the right, with elements at the end wrapping around to the beginning.
Example 1
- Input: nums = [1, 2, 3, 4, 5, 6, 7], k = 3
- Output: [5, 6, 7, 1, 2, 3, 4]
- Explanation:
- Original array is [1, 2, 3, 4, 5, 6, 7] and k = 3.
- After 1 rotation: [7, 1, 2, 3, 4, 5, 6].
- After 2 rotations: [6, 7, 1, 2, 3, 4, 5].
- After 3 rotations: [5, 6, 7, 1, 2, 3, 4].
- Original array is [1, 2, 3, 4, 5, 6, 7] and k = 3.
Example 2
- Input: nums = [-1, -100, 3, 99], k = 2
- Output: [3, 99, -1, -100]
- Explanation:
- Original array is [-1, -100, 3, 99] and k = 2.
- After 1 rotation: [99, -1, -100, 3].
- After 2 rotations: [3, 99, -1, -100].
- Original array is [-1, -100, 3, 99] and k = 2.
Constraints
- 1 ≤ nums.length ≤ 10^5
- -2^31 ≤ nums[i] ≤ 2^31 - 1
- 0 ≤ k ≤ 10^5
- Time Complexity: O(n)
- Space Complexity: O(1) for in-place solution
Editorial
My Submissions
All Solutions
Lang | Status | Date | Code |
---|---|---|---|
You do not have any submissions for this problem. |
User | Lang | Status | Date | Code |
---|---|---|---|---|
No submissions found. |
Solution Hints
- Use the reverse technique to rotate the array efficiently
- First, reverse the entire array
- Then reverse the first k elements
- Finally, reverse the remaining elements from k to end
- Handle the case where k is greater than array length using modulo operation
- This approach works in-place without using extra space