找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2973|回复: 0

[代码与实例] Lintcode507 Wiggle Sort II solution 题解

15

主题

15

帖子

15

积分

贫民

积分
15
Jenny 发表于 2018-7-5 21:59:55 | 显示全部楼层 |阅读模式
【题目描述】
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]....
注意事项:你可以认为每个输入都有合法解

【题目解析】
此题可以先给数组排序,然后再做调整。调整的方法是找到数组的中间的数,相当于把有序数组从中间分成两部分,然后从前半段的末尾取一个,在从后半的末尾去一个,这样保证了第一个数小于第二个数,接着从前半段取倒数第二个,从后半段取倒数第二个,这保证了第二个数大于第三个数,且第三个数小于第四个数,以此类推直至都取完。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表