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

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

Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= nums[2] <= nums[3]....

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

分析

因为要求奇数位的数字大于等于两边的元素,因为有等于条件存在,所以不用考虑当连续两个相同的元素连接在一起的情况,这种条件下,可以使用贪心算法,保证每个奇偶位置满足条件,即可有解
1
2
3
4
5
6
7
8
9
10
11
12
class 
Solution {
public
:
    
void 
wiggleSort(vector<
int
>& nums) {
        
if
(nums == NULL || nums.size() < 2) 
return
;  
               
        
for
(
int 
i = 1; i < nums.size(); ++i) {  
            
if
((i&1 == 1 && (nums[i] < nums[i-1])) || (i&1 == 0) && (nums[i] > nums[i-1])) {  
                
swap(nums[i], nums[i - 1]);  
            
}  
        
}  
    
}
};

转载于:https://www.cnblogs.com/zhxshseu/p/e6c9dafa592cd8896f1aab212bea7972.html

你可能感兴趣的文章
Oracle数据库的DBID变更
查看>>
MagicLinux+MySQL5+PHP5+Apache2+phpMyAdmin
查看>>
服务器RAID磁盘坏道修复实战
查看>>
SOAP
查看>>
Sql Server 2005 基于通知的缓存失效
查看>>
理解Windows中的路由表和默认网关
查看>>
.NET多线程编程(13)——一个简单的C#多线程间同步的例子
查看>>
mysql数据导入中文乱码的解决办法
查看>>
Exception和Error分析(—)—UnsatisfiedLinkError
查看>>
VMM系列之使用VMM服务器构建Hyper-V主机(1)
查看>>
cdh4.6.0到cdh5.2.0 upgrade和rollback问题小结
查看>>
MalformedInputException处理
查看>>
OPENAPI的测试用例编写方法
查看>>
在Windows Server 2008 R2上安装 PowerShell 5.0
查看>>
事件通知(Event Notification)实践
查看>>
快速构建Windows 8风格应用28-临时应用数据
查看>>
DVWA系列之12 利用Burpsuite进行暴力破解
查看>>
华为VRRP(不同vlan之间的冗余备份)
查看>>
单片机数码管码段
查看>>
Liferay 启动过程分析14-初始化resource code
查看>>