文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个无序的数组 nums, 将该数字 原地 重排后使得 nums[0] <= nums[1] >= nums[2] <= nums[3]...

示例:
输入: nums = [3,5,2,1,6,4]
输出: 一个可能的解答是 [3,5,1,6,2,4]

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/wiggle-sort
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:
LeetCode 324. 摆动排序 II
LeetCode 376. 摆动序列(贪心 & 动态规划)

  • 如果 a > b, 遇到下一个是 c, b > c,那么可知 a > c,交换b,c 得到 a > c < b
  • 同理另一种情况也对
class Solution {public:void wiggleSort(vector<int>& nums) {for(int i = 0; i < int(nums.size())-1; ++i){if(i%2==0 && nums[i] > nums[i+1])swap(nums[i], nums[i+1]);else if(i%2==1 && nums[i] < nums[i+1])swap(nums[i], nums[i+1]);}}
};

24 ms 13.6 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 280. 摆动排序相关推荐

  1. LeetCode 376. 摆动序列(贪心 动态规划)

    文章目录 1. 题目 2. 解题 2.1 贪心 2.2 动态规划 1. 题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个 ...

  2. 【leetcode】324.摆动排序 II (四种解法,快速排序+3way-partition等,java实现)

    324. 摆动排序 II 难度中等 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 示例 1 ...

  3. C#LeetCode刷题-排序

    排序篇 # 题名 刷题 通过率 难度 56 合并区间 31.2% 中等 57 插入区间 30.4% 困难 75 颜色分类 48.6% 中等 147 对链表进行插入排序 50.7% 中等 148 排序链 ...

  4. C++Wiggle Sort摆动排序的实现算法(附完整源码)

    C++Wiggle Sort摆动排序的实现算法 C++Wiggle Sort摆动排序的实现算法完整源码(定义,实现,main函数测试) C++Wiggle Sort摆动排序的实现算法完整源码(定义,实 ...

  5. C++描述 LeetCode 26. 删除排序数组中的重复项

    C++描述 LeetCode 26. 删除排序数组中的重复项   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...

  6. LeetCode实战:排序链表

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Sort a link ...

  7. 摆动排序leetcode324

    给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 你可以假设所有输入数组都可以得到满足题目要求的 ...

  8. LeetCode 82 删除排序链表中的重复元素 II python

    题目描述 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 样例 示例 1:输入: 1->2->3->3->4->4->5 输 ...

  9. LeetCode 82. 删除排序链表中的重复元素 II(链表)

    1. 题目 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4->5 输出 ...

最新文章

  1. python自学视频教程-28岁想从零开始自学python,有哪些靠谱免费的视频?
  2. MATLAB排列组合函数--nchoosek
  3. VTK:PolyData之ColorDisconnectedRegionsDemo
  4. android圆形变方形动画,CSS3 简单的圆形/方形变形动画
  5. 从代码里提取的测试需求
  6. 损失函数一直不变_MIT 18.03 微分方程笔记 3.4 狄拉克δ函数
  7. 【nodejs原理源码赏析(2)】KOA中间件的基本运作原理
  8. 翻牌抽奖 php,PHP+jQuery开发简单的翻牌抽奖实例
  9. c/c++ 标准库 string
  10. Java文档对象_java从文件读取对象
  11. PackageManager.getPackageSizeInfo||UserHandle.myUserId()
  12. kotlin和python哪个好_对比 Go 语言,Kotlin 有什么优势和劣势?
  13. 模拟集成电路—拉扎维第三章知识点
  14. vux页面转换html,Vue 初学者使用 Vux 前端开发框架 - 文章教程
  15. PostgreSQL 15.0下载与安装详细保姆教程
  16. Ambari Server重启报错的解决办法
  17. 语义分割yolov5 v4.0 baseline快速复现 快速跑通 图像分割 图像分类 重新训练,训练结果,测试结果,实验图片-20210227
  18. 如何做一个炫酷的动画网站-css实现图片上下浮动效果
  19. Pete's Pantry
  20. ffmpeg中的时间 DTS、PTS、AV_TIME_BASE、AV_TIME_BASE_Q 介绍

热门文章

  1. 金属磁记忆传感器封装
  2. python面向对象实现简易银行管理员页面系统【导入自定义模块】
  3. redistemplate怎么修改数据_如何使用RedisTemplate访问Redis数据结构?
  4. 群晖docker安装cms_Nas码农篇:群晖Docker安装Gitlab
  5. 面试题:根据Unix时间戳计算时间
  6. LeetCode445——Add Two Numbers II(两个链表数据相加(从链表尾部开始),返回新链表)
  7. window 快捷键使用 + idear 编辑器使用
  8. 关于arguments的用法
  9. [hdu5372 Segment Game]树状数组
  10. 对Java注解(Annotation)初步的认识