Given a list of integers, rearrange the list such that it consists of alternating minimum maximum elements using only list operations. The first element of the list should be minimum and second element should be maximum of all elements present in the list. Similarly, third element will be next minimum element and fourth element is next maximum element and so on. Use of extra space is not permitted.
Input: [1 3 8 2 7 5 6 4] Output: [1 8 2 7 3 6 4 5] Input: [1 2 3 4 5 6 7] Output: [1 7 2 6 3 5 4] Input: [1 6 2 5 3 4] Output: [1 6 2 5 3 4]
The idea is to sort the list in ascending order first. Then we start popping elements from the end of the list and insert them into their correct position in the list.
Below is the implementation of above idea –
1 8 2 7 3 6 4 5
This article is contributed by Aditya Goel. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Find minimum and maximum elements in singly Circular Linked List
- Rearrange an array in maximum minimum form | Set 1
- Rearrange an array in maximum minimum form | Set 2 (O(1) extra space)
- Rearrange array in alternating positive & negative items with O(1) extra space | Set 2
- Rearrange array in alternating positive & negative items with O(1) extra space | Set 1
- Sum of minimum and maximum elements of all subarrays of size k.
- Minimize the difference between minimum and maximum elements
- Minimum cost to merge all elements of List
- Alternating split of a given Singly Linked List | Set 1
- Product of all Subsequences of size K except the minimum and maximum Elements
- Minimum and Maximum Prime Numbers of a Singly Linked List
- Maximum and Minimum element of a linked list which is divisible by a given number k
- Program to print N minimum elements from list of integers
- Count minimum frequency elements in a linked list
- Recursive Programs to find Minimum and Maximum elements of array