描述:

给你一个数组nums,将它重排列如下形式

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

你可以认为每个输入都有合法解

样例:

给出 nums = [1, 5, 1, 1, 6, 4],一种方案为 [1, 4, 1, 5, 1, 6].

给出 nums = [1, 3, 2, 2, 3, 1],一种方案为 [2, 3, 1, 3, 1, 2].

思路:

复制数组并排序,按照降序依次插入到nums中

采用降序的目的在于讲sort后的数组,排列在中间位置的,也就是值比较接近的,分别放置在数组两边,以此来避免相等的情况出现

public class Solution {/*** @param nums a list of integer* @return void*/public void wiggleSort(int[] nums) {// Write your code hereint[] temp = nums.clone();Arrays.sort(temp);for(int i = (nu ms.length - 1)/2 , j = 0 ; i>=0;i-- , j += 2){nums[j] = temp[i];}for(int i = nums.length -1, j = 1;i>(nums.length - 1)/2;i-- , j+=2){nums[j] = temp[i];}}
}

lintcode(507)摆动排序 II相关推荐

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

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

  2. [Swift]LeetCode324. 摆动排序 II | Wiggle Sort II

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  3. 324. Wiggle Sort II | 324. 摆动排序 II(降序穿插)

    题目 https://leetcode.com/problems/wiggle-sort-ii/submissions/ 题解 没有一次想到正确的方法,是在 WA 的测试用例的提示下,一点一点修正,才 ...

  4. LeetCode 280. 摆动排序

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

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

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

  6. LintCode 6.合并排序数组 ||

    import org.junit.Test;import java.util.Arrays;public class MergeSort {/*** @param A: sorted integer ...

  7. 摆动排序leetcode324

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

  8. [Lintcode]115. Unique Paths II/[Leetcode]63. Unique Paths II

    115. Unique Paths II/63. Unique Paths II 本题难度: Easy/Medium Topic: Dynamic Programming Description Fo ...

  9. ACM练习 链表排序 II 【WA】

    注意:在OJ上提交时不要使用endl,可能会出问题.用\n代替. 描述 已知 小 g 手里有一个链表. 小 g 希望手里的链表是按照单调非减的顺序排好的. 小 g 希望链表中值相同的节点在排完序后相对 ...

  10. lintcode:合并排序数组

    题目: 合并排序数组 合并两个排序的整数数组A和B变成一个新的数组. 样例 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6] 挑战 你能否优化你的算法,如果 ...

最新文章

  1. ffmpeg3.4 yuv编码为h264
  2. Linux学习之系统编程篇:条件变量(pthread_cond_init / wait / signal / broadcast / destroy)
  3. Java黑皮书课后题第3章:*3.5(给出将来的日期)编写一个程序,提示用户输入代表今天日期的数字(周日0周一1周二2)同时用户输入一个今天之后的天数代表将来某天的数字,然后显示这天是周几
  4. 48session的生命周期
  5. weblogic linux sun/awt/X11GraphicsEnvironment
  6. Spring MVC学习总结(1)——Spring MVC单元测试
  7. 芬兰称议员的邮件账户遭黑客访问
  8. Redis 数据结构之dict(2)
  9. 迷信一把:三才数理吉凶
  10. 树莓派人脸表情识别中期报告
  11. Pandas 报错:index must be monotonic increasing or decreasing
  12. 【渝粤教育】 国家开放大学2020年春季 1332中文学科论文写作 参考试题
  13. pixi的使用之创建和操作精灵
  14. vue3怎么引入高德地图
  15. Cell Biolabs丨艾美捷Arf1激活检测试剂盒
  16. StringUtil工具类
  17. Learning to See in the Dark阅读札记
  18. 基于.NET平台的MapX开发
  19. 换位思考——寝室作息
  20. Chrome调试工具

热门文章

  1. 基金与私募基金概念解析:共同基金、单位信托、投资信托计划、券商集合理财、基金专户理财
  2. 中国科学院计算机所刘夏真,中国科学院大学2015年博士生录取名单公示(55)
  3. 微信小程序请求接口提示Provisional headers are shown
  4. Linux学习第一节课
  5. Mathtype部分符号打不上去或部分符号点击后停止工作
  6. 谷歌浏览器应用翻译插件,
  7. python三角函数公式计算_使用Python三角函数公式计算三角形的夹角案例
  8. python中三角函数运算符_Python入门之三角函数sin()函数实例详解
  9. 关于:WindowsOffice 产品语言包
  10. USACO 土地购买