【题目描述】
Given an unsorted array nums, reorder it such that
nums[0] < nums[1] > nums[2] < nums[3]....
Notice:You may assume all input has valid answer.
给你一个数组nums,将它重排列如下形式
nums[0] < nums[1] > nums[2] < nums[3]....
注意事项:你可以认为每个输入都有合法解
【题目链接】
www.lintcode.com/en/problem/wiggle-sort-ii/
【题目解析】
此题可以先给数组排序,然后再做调整。调整的方法是找到数组的中间的数,相当于把有序数组从中间分成两部分,然后从前半段的末尾取一个,在从后半的末尾去一个,这样保证了第一个数小于第二个数,接着从前半段取倒数第二个,从后半段取倒数第二个,这保证了第二个数大于第三个数,且第三个数小于第四个数,以此类推直至都取完。
【参考答案】