【題目描述】
Given an unsorted array?nums, reorder it in-place such that
nums[0] <= nums[1] >= nums[2] <= nums[3]....
?Notice:Please complete the problem in-place.
給你一個沒有排序的數(shù)組窘拯,請將原數(shù)組就地重新排列滿足如下性質(zhì)
nums[0] <= nums[1] >= nums[2] <= nums[3]....
?注意事項:請就地排序數(shù)組,也就是不需要額外數(shù)組
【題目鏈接】
www.lintcode.com/en/problem/wiggle-sort/
【題目解析】
題目對搖擺排序的定義有兩部分:
①如果i是奇數(shù),nums[i] >= nums[i - 1] ? ?②如果i是偶數(shù)斗遏,nums[i] <= nums[i - 1]
所以我們只要遍歷一遍數(shù)組议惰,把不符合的情況交換一下就行了整份。具體來說蟋座,如果nums[i] > nums[i - 1]膜眠, 則交換以后肯定有nums[i] <= nums[i - 1]岩臣。
【參考答案】