LeetCode 题解(273) : Wiggle Sort
来源:互联网 发布:php 房源管理系统 编辑:程序博客网 时间:2024/05/17 06:42
题目:
Given an unsorted array nums
, reorder it in-place such thatnums[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]
.
C++版:
class Solution {public: void wiggleSort(vector<int>& nums) { if(nums.size() <= 1) return; int i = 0, j = 1; bool reverse = false; while(j < nums.size()) { if(!reverse) { reverse = true; if(nums[i] > nums[j]) { int t = nums[i]; nums[i] = nums[j]; nums[j] = t; } } else { reverse = false; if(nums[i] < nums[j]) { int t = nums[i]; nums[i] = nums[j]; nums[j] = t; } } i++; j++; } }};
Python版:
class Solution(object): def wiggleSort(self, nums): """ :type nums: List[int] :rtype: void Do not return anything, modify nums in-place instead. """ if len(nums) <= 1: return i, j, reverse = 0, 1, False while i < len(nums) and j < len(nums): if not reverse: reverse = True if nums[i] > nums[j]: nums[i], nums[j] = nums[j], nums[i] else: reverse = False if nums[i] < nums[j]: nums[i], nums[j] = nums[j], nums[i] i += 1 j += 1
0 0
- LeetCode 题解(273) : Wiggle Sort
- Leetcode Wiggle Sort and Wiggle Sort II
- Leetcode: Wiggle Sort
- [Leetcode]Wiggle Sort
- leetcode 280: Wiggle Sort
- *LeetCode-Wiggle Sort
- [LeetCode] Wiggle Sort
- Leetcode 280: Wiggle Sort
- [leetcode 280] Wiggle Sort
- leetcode Wiggle Sort II
- LeetCode Wiggle Sort II
- leetcode Wiggle Sort II
- Leetcode Wiggle Sort II
- Leetcode Wiggle Sort
- leetcode笔记:Wiggle Sort
- leetcode 280: Wiggle Sort
- LeetCode 280. Wiggle Sort
- leetcode Wiggle Sort
- [机器学习] Adaboost算法流程及原理推导
- LeetCode 题解(272) : Zigzag Iterator
- Container With Most Water
- 张益唐的有用性
- Android ViewPager前两页显示空白
- LeetCode 题解(273) : Wiggle Sort
- LeetCode 题解(274) : Two Sum II - Input array is sorted
- *LeetCode-Longest Valid Parentheses
- Leetcode NO.125 Valid Palindrome
- 2048最高分
- 循环队列实现
- Android基础——Fragment控制切换(一)
- Android基础之Fragment与Activity交互详解(二)
- LeetCode Algorithms #290 <Word Pattern>