280. Wiggle Sort
2015-12-10 12:00
330 查看
题目:
Given an unsorted array
For example, given
链接: http://leetcode.com/problems/wiggle-sort/
题解:
Wiggle排序数组。按照题意写就可以了。 还可以简化,要多学习Stefan的代码。
Time Complexity - O(n), Space Complexity - O(1)
二刷:
方法和一刷一样。在i % 2 == 1或者 == 0的时候作交换的判断,交换完毕以后仍然保持这是一个本地化操作就可以了。交换的时候是用 i和 i - 1来交换
Java:
Time Complexity - O(n), Space Complexity - O(1)
Reference:
https://leetcode.com/discuss/57113/java-o-n-solution https://leetcode.com/discuss/57206/java-o-n-10-lines-consice-solution https://leetcode.com/discuss/60824/java-python-o-n-time-o-1-space-solution-3-lines https://leetcode.com/discuss/57118/easy-code-of-python
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].
链接: http://leetcode.com/problems/wiggle-sort/
题解:
Wiggle排序数组。按照题意写就可以了。 还可以简化,要多学习Stefan的代码。
Time Complexity - O(n), Space Complexity - O(1)
public class Solution { public void wiggleSort(int[] nums) { for(int i = 1; i < nums.length; i++) { if(i % 2 == 1) { if(nums[i] < nums[i - 1]) { swap(nums, i); } } else { if(i != 0 && nums[i] > nums[i - 1]) { swap(nums, i); } } } } private void swap(int[] nums, int i) { int tmp = nums[i - 1]; nums[i - 1] = nums[i]; nums[i] = tmp; } }
二刷:
方法和一刷一样。在i % 2 == 1或者 == 0的时候作交换的判断,交换完毕以后仍然保持这是一个本地化操作就可以了。交换的时候是用 i和 i - 1来交换
Java:
Time Complexity - O(n), Space Complexity - O(1)
public class Solution { public void wiggleSort(int[] nums) { if (nums == null || nums.length == 0) { return; } for (int i = 1; i < nums.length; i++) { if (i % 2 == 1) { if (nums[i] < nums[i - 1]) { swap(nums, i); } } else { if (nums[i] > nums[i - 1]) { swap(nums, i); } } } } private void swap(int[] nums, int i) { int tmp = nums[i - 1]; nums[i - 1] = nums[i]; nums[i] = tmp; } }
Reference:
https://leetcode.com/discuss/57113/java-o-n-solution https://leetcode.com/discuss/57206/java-o-n-10-lines-consice-solution https://leetcode.com/discuss/60824/java-python-o-n-time-o-1-space-solution-3-lines https://leetcode.com/discuss/57118/easy-code-of-python
相关文章推荐
- C# SQL数据格式对应关系
- 初始化NSDate为指定时间(Initialize a NSDate object with a specific time)
- SVN代码服务器的搭建
- opencv3学习:reshape函数
- Lost Cows(BIT poj2182)
- C++对象池实现
- JavaScript 动态加载脚本和样式的方法
- Xcode 7 下真机测试
- HttpClient简单使用
- python序列化(数据本地存放持久性存储)和反序列化
- JSPatch库, 一个Apple官方支持的实现在线更新iOS应用的库
- 解决EXC_BAD_ACCESS错误的一种方法--NSZombieEnabled
- 老李性能测试分享
- genymotion详细安装步骤以及安装异常解析
- C++ Primer高速学习 第一章 获得二:输入和输出 (IO)
- Temporary Post Used For Theme Detection (da655c32-bc15-41ad-bf89-e76c1ec1bea7 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
- 夺命雷公狗---ECSHOP---06---商品倒计时的实现
- 解决json_encode中文UNICODE转码问题
- 机器学习中的数学系列
- ogg脱敏复制