博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lintcode:Wiggle Sort
阅读量:7072 次
发布时间:2019-06-28

本文共 992 字,大约阅读时间需要 3 分钟。

Given an unsorted array nums, reorder it in-place such that

nums[0] <= nums[1] >= nums[2] <= nums[3]....
 注意事项

Please complete the problem in-place.

样例

Given nums = [3, 5, 2, 1, 6, 4], one possible answer is [1, 6, 2, 5, 3, 4].

解题

竟然可以直接交换

对i位置

对奇数位需要是:A[i] >= A[i-1]  奇数位的数大于后一个的数,当是A[i] < A[i-1] 的时候交换

对偶数位需要是:A[i] <=A[i-1] 偶数位的数小于后一个数,当是A[i] > A[i-1] 的时候交换

对给的样例

原始数组:[3,5,2,1,6,4]

第一次:[3,5,2,1,6,4] 3<=5 不交换

第二次:[3,5,2,1,6,4] 5>=2 不交换

第三次:[3,5,1,2,6,4] 2>1 交换 小的换到前面不影响上一次的情况 1<=2

第四次:[3,5,1,6,2,4] 2<6 交换, 大的换的前面不影响,6>=2

第五次:[3,5,2,1,6,4] 2<=4 不需要交换

public class Solution {    /**     * @param nums a list of integer     * @return void     */    public void wiggleSort(int[] nums) {        // Write your code here        if(nums == null || nums.length == 0)            return;        int n = nums.length;        for(int i = 1;i
nums[i-1])){ nums[i]^=nums[i-1]; nums[i-1]^=nums[i]; nums[i]^=nums[i-1]; } } }}

 

转载地址:http://rskml.baihongyu.com/

你可能感兴趣的文章
iOS开发之网络数据解析(二)--XML解析简介
查看>>
深入浅出分析MySQL索引设计背后的数据结构
查看>>
Android高级知识学习目录,网友回复:吊打各种面试官
查看>>
智能客服机器人的优势,促进客户服务自动化
查看>>
django第一个app,3
查看>>
大数据教程(2.5):Linux系统搭建本地YUM源服务器
查看>>
postgreSQL中如何实现group_concat
查看>>
招聘网工:内推性质
查看>>
wxPython,线程中修改UI的方法
查看>>
Snapshot Volume 操作 - 每天5分钟玩转 OpenStack(58)
查看>>
Composer : php依赖管理工具
查看>>
5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
查看>>
jQuery学习和知识点总结归纳
查看>>
Permission denied You (root) are not allowed to access to (crontab) because of pam configuration.
查看>>
mybaits出现错误
查看>>
我的友情链接
查看>>
如果项目使用HOLO或加载V7包就会出现小按钮变大
查看>>
kvm虚拟化
查看>>
自制WheelView沉浸式菜单及Dialog样式Activity
查看>>
python-62: BS4的基本知识
查看>>