首页 > 代码库 > 280. Wiggle Sort
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]
.
此题需要把数组序号分成偶数和奇数来区别对待,代码如下:
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }</style>public class Solution {
public void wiggleSort(int[] nums) {
for(int i=0;i<nums.length-1;i++){
if(i%2==0){
if(nums[i]>nums[i+1]) swap(nums,i,i+1);
}else{
if(nums[i]<nums[i+1]) swap(nums,i,i+1);
}
}
}
public void swap(int[] nums,int i,int j){
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
280. Wiggle Sort
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。