Search⌘ K

Solution: Rearrange Sorted Array in Max/Min Form

Explore how to rearrange a sorted array so that elements alternate between the largest and smallest remaining values. Learn two C++ approaches: using an additional array and using in-place encoding with modulus and pointers. Understand their time and space complexity to optimize your solutions.

Statement

We're given a sorted array, nums, containing positive integers only. We have to rearrange the array so that when returned, the 0th0^{th} index of the array will have the largest number, the 1st1^{st} index will have the smallest number, the 2nd2^{nd} index will have the second largest number, the 3rd3^{rd} index will have the second smallest number, and so on.

In the end, we’ll have the largest remaining numbers in descending order and the smallest in ascending order at even and odd positions, respectively.

Constraints:

  • 00 \leq nums.length 103\leq 10^3 ...