zoukankan      html  css  js  c++  java
  • LeetCode 280. Wiggle Sort (摆动排序)$

    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].


    题目标签:Array, Sort

      题目给了我们一个nums array, 让我们wiggle sort。

      wiggle sort 特性:所有index 是odd 的数字 大于等于两边数字。

      我们可以从另一个角度理解:所有even index 的数字 要小于 下一个数字;所有odd index 的数字 要大于等于 下一个数字。

      这样就可以遍历nums,根据奇数偶数 来检查每一对数字,如果不符合要求的,swap 它们。

    Java Solution:

    Runtime beats 60.02% 

    完成日期:09/10/2017

    关键词:Array

    关键点:遍历检查每一对数字,不符合要求就对换

     1 class Solution 
     2 {
     3     public void wiggleSort(int[] nums) 
     4     {
     5         for(int i=0; i<nums.length; i++)
     6         {
     7             // for even index
     8             if(i % 2 == 0)
     9             {   
    10                 // if even index number >  next one, swap them
    11                 if(i+1 < nums.length && nums[i] > nums[i+1])
    12                 {
    13                     int temp = nums[i];
    14                     nums[i] = nums[i+1];
    15                     nums[i+1] = temp;
    16                 }
    17             }
    18             else // for odd index
    19             {
    20                 // if odd index number < next one, swap them
    21                 if(i+1 < nums.length && nums[i] < nums[i+1])
    22                 {
    23                     int temp = nums[i];
    24                     nums[i] = nums[i+1];
    25                     nums[i+1] = temp;
    26                 }
    27             }
    28         }
    29     }
    30 }

    参考资料:N/A

    LeetCode 算法题目列表 - LeetCode Algorithms Questions List

  • 相关阅读:
    钞票与选票之争
    poj1066--Treasure Hunt(规范相交)
    mmc生产任务分配问题
    Linux学习杂记
    UVA 10026 Shoemaker&#39;s Problem
    【12c】root container 和 pdb 的一些差别
    Configuring HDFS High Availability
    字符串替换
    一张图搞懂分布式大型站点的前世今生
    HDU1874畅通project续 dijkstra&amp;&amp;floyd
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/7503080.html
Copyright © 2011-2022 走看看