Given an unsorted array
nums
, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]...
.
Example 1:
Input:nums = [1, 5, 1, 1, 6, 4]
Output: One possible answer is[1, 4, 1, 5, 1, 6]
.
Example 2:
Input:nums = [1, 3, 2, 2, 3, 1]
Output: One possible answer is[2, 3, 1, 3, 1, 2]
.
Note:
You may assume all input has valid answer.
You may assume all input has valid answer.
Follow Up:
Can you do it in O(n) time and/or in-place with O(1) extra space?
Can you do it in O(n) time and/or in-place with O(1) extra space?
波浪型排序,Wiggle Sort I 很简单,因为可以相等,所以把整个数组先排序,再2 pointers两个互相swap就可以了。
Wiggle Sort II 比较难。破题点在哪里?这是个什么类型的问题?
No comments:
Post a Comment