324. 摆动排序 II

一、题目

给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序。

你可以假设所有输入数组都可以得到满足题目要求的结果。

二、思路

主要思路就是你会发现,奇数索引上规律是从大到小,偶数索引上规律也是从大到小,再次发现先对奇数索引进行填充,再对偶数索引填充

三、代码

class Solution {
    public void wiggleSort(int[] nums) {
    int[] temp=new int[nums.length];
    Arrays.sort(nums);
    int j=nums.length-1;
    for(int i=1;i<nums.length;i=i+2,j--){
        temp[i]=nums[j];
    }
    for(int i=0;i<nums.length;i=i+2,j--){
        temp[i]=nums[j];
    }
    for(int i=0;i<nums.length;i++){
        nums[i]=temp[i];
    }
    }
}

 

posted @ 2023-03-09 22:04  ImreW  阅读(9)  评论(0编辑  收藏  举报