LeetCode Top Interview Questions 324. Wiggle Sort II (Java版; Medium)
题目描述
Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]....
Example 1:
Input: nums = [1, 5, 1, 1, 6, 4]
Output: One possible answer is [1, 4, 1, 5, 1, 6].
Example 2:
Input: nums = [1, 3, 2, 2, 3, 1]
Output: One possible answer is [2, 3, 1, 3, 1, 2].
Note:
You may assume all input has valid answer.
Follow Up:
Can you do it in O(n) time and/or in-place with O(1) extra space?
publicvoidwiggleSort(int[] nums){int[] copy = Arrays.copyOf(nums, nums.length);
Arrays.sort(copy);int n = nums.length;int left =(n +1)/2-1;// median indexint right = n -1;// largest value indexfor(int i =0; i < nums.length; i++){// copy large values on odd indexesif(i%2==1){
nums[i]= copy[right];
right--;}else{// copy values decremeting from median on even indexes
nums[i]= copy[left];
left--;}}}
LeetCode Top Interview Questions 324. Wiggle Sort II (Java版; Medium)
welcome to my blogLeetCode Top Interview Questions 324. Odd Even Linked List (Java版; Medium)题目描述Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3].......