Yahoo News prepares a sequence of feed item IDs for display. To support a presentation mode, reverse the sequence in contiguous groups of k items. If the final group contains fewer than k items, reverse that group as well.
Modify the input list in place and return the same list.
Implement reverse_in_groups(nums, k), where nums is a list of integers representing feed item IDs and k is a positive group size. Reverse the elements within each consecutive group of at most k elements. The relative order of different groups must not change.
Example 1
Input: nums = [1, 2, 3, 4, 5, 6, 7], k = 3
Output: [3, 2, 1, 6, 5, 4, 7]
The first two complete groups are reversed, and the final one-element group remains unchanged.
Example 2
Input: nums = [10, 20, 30, 40, 50], k = 2
Output: [20, 10, 40, 30, 50]
Each pair is reversed, followed by the final one-element group.
def reverse_in_groups(nums, k):