324.摆动排序II
给定一个无序的数组 nums
,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]...
的顺序。
示例 1:
输入: nums = [1, 5, 1, 1, 6, 4]输出: 一个可能的答案是 [1, 4, 1, 5, 1, 6]
示例 2:
输入: nums = [1, 3, 2, 2, 3, 1]输出: 一个可能的答案是 [2, 3, 1, 3, 1, 2]
说明:
你可以假设所有输入都会得到有效的结果。
进阶:
你能用 O(n) 时间复杂度和 / 或原地 O(1) 额外空间来实现吗?
class Solution {
public:
void wiggleSort(vector<int>& nums) {
vector<int> tmp = nums;
int n = nums.size(), k = (n + 1) / 2, j = n;
sort(tmp.begin(), tmp.end());
for (int i = 0; i < n; ++i) {
nums[i] = i & 1 ? tmp[--j] : tmp[--k];
}
}
};
324.摆动排序II相关推荐
- 【leetcode】324.摆动排序 II (四种解法,快速排序+3way-partition等,java实现)
324. 摆动排序 II 难度中等 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 示例 1 ...
- 324. Wiggle Sort II | 324. 摆动排序 II(降序穿插)
题目 https://leetcode.com/problems/wiggle-sort-ii/submissions/ 题解 没有一次想到正确的方法,是在 WA 的测试用例的提示下,一点一点修正,才 ...
- [Swift]LeetCode324. 摆动排序 II | Wiggle Sort II
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- LeetCode 280. 摆动排序
文章目录 1. 题目 2. 解题 1. 题目 给你一个无序的数组 nums, 将该数字 原地 重排后使得 nums[0] <= nums[1] >= nums[2] <= nums[ ...
- C++Wiggle Sort摆动排序的实现算法(附完整源码)
C++Wiggle Sort摆动排序的实现算法 C++Wiggle Sort摆动排序的实现算法完整源码(定义,实现,main函数测试) C++Wiggle Sort摆动排序的实现算法完整源码(定义,实 ...
- 324. Wiggle Sort II
/** 324. Wiggle Sort II* 2016-7-7 by Mingyang* 我想利用I的思路,设立一个list,sort以后从头尾分别加,但是遇到1122233就不行了* 因为这里是 ...
- 摆动排序leetcode324
给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 你可以假设所有输入数组都可以得到满足题目要求的 ...
- ACM练习 链表排序 II 【WA】
注意:在OJ上提交时不要使用endl,可能会出问题.用\n代替. 描述 已知 小 g 手里有一个链表. 小 g 希望手里的链表是按照单调非减的顺序排好的. 小 g 希望链表中值相同的节点在排完序后相对 ...
- HLG 数字去重和排序II【二叉排序树】
Description 用计算机随机生成了N个0到1000000000(包含0和1000000000)之间的随机整数(N≤5000000),对于其中重复的数字,只保留一个,把其余相同的数去掉.然后再把 ...
- LeetCode 376. 摆动序列(贪心 动态规划)
文章目录 1. 题目 2. 解题 2.1 贪心 2.2 动态规划 1. 题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个 ...
最新文章
- 刘启成_编写并使用shell脚本
- QT开发(六十四)——QT样式表(二)
- esp8266手机端网络调试助手_esp8266定时控制
- 澳大利亚计算机领域的科学家,澳科学家首创硅基元件 突破量子计算机制造瓶颈...
- USB3.1与Type-C有什么区别
- [转] 撞车之后,不要傻里傻气的!
- [转载] python的短逻辑
- 电脑C盘的大小影响电脑正常使用吗?
- springmvc框架原理学习
- OCS2007视频会议客户端的部署与应用
- html5时间点阵代码,HTML5 Canvas 波动的点阵
- Pandownload 百度网盘光速下载 十分简单 一秒破解
- 使用python PIL 模块合成图片
- Python Playwright 打包报错 Please run the following command to download new browsers
- 吴恩达预热新课!万字回顾机器学习!
- 主板点不亮 复位BIOS_【硬件篇】主板排线怎么插?确认过眼神,就是这么简单!...
- 雷锋网的那些段段(一)。
- nvme分区选mbr还是guid_怎么分辨硬盘是GUID格式还是MBR格式以及怎样更改
- Zabbix 3.4配置监控项及监控Linux、Windows客户端
- Windows 11 家庭版、专业版、企业版、教育版、SE 版之间的区别