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]);
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读