public class Solution {
/**
* @param nums a list of integer
* @return void
*/
public void wiggleSort(int[] nums) {
// Write your code here
int length = nums.length;
for (int i = 1; i < length; 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);
}
}
}
}
private void swap(int[] nums, int a, int b) {
nums[a] = nums[a] ^ nums[b];
nums[b] = nums[a] ^ nums[b];
nums[a] = nums[a] ^ nums[b];
}
}
508. Wiggle Sort
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 突然发现自己对这三种排序算法一无所知。他们是基于不比较类型的算法。在特殊情况下,时间复杂度可以达到 O(n) 看下...
- jdk1.6 中,都使用归并排序 jdk1.7中,改为使用TimSort,而且对comparator的实现检查更加...
- 写好分治排序后,脑里灵光一闪,想看看python的sort和numpy的sort还有自己的分治排序的效率,被完爆了...
- 关于解题:https://discuss.leetcode.com/topic/87252/solve-this-...