本题目要求是将给定的数组变为 来回交替的顺序。
例如 123456 变为142536
本题思路是将原数组排序后,分为两个数组,小数组所有的值都不大于大数组的值。然后为了确保取出的值是来回摆动的,我们依次
从小数组末尾和大数组末尾取值。
class Solution {
public void wiggleSort(int[] nums) {
int [] result = new int[nums.length];
for (int i = 0; i < result.length; i++) {
result[i] = nums[i];
}
Arrays.sort(result);
for (int i = 0; i < result.length; i++) {
if((i%2)==0){
nums[i] = result[(int) Math.floor((double)(nums.length-1-i)/2)];
}else {
nums[i] = result[nums.length-1-i/2];
}
}
}
}