Lintcode 508. Wiggle Sort
2018-05-16 本文已影响0人
aha_zzb
// find the sub-problem of wiggle sort
/*
508. Wiggle Sort
greedy algorithm:
Given an unsorted array nums, reorder it in-place such that
nums[0] <= nums[1] >= nums[2] <= nums[3]....
Accepted.
*/
void wiggleSort(vector<int> &nums) {
int count = nums.size();
for (int i = 1; i < count; i++) {
if (i % 2 == 1 && nums[i] < nums[i - 1])
swap(nums[i - 1], nums[i]);
else
{
if (i % 2 == 0 && nums[i]>nums[i - 1])
swap(nums[i - 1], nums[i]);
}
}
}