題目要求:
將一個數(shù)組變成變成搖擺序列
Examples:
(1) Given nums = [1, 5, 1, 1, 6, 4], one possible answer is [1, 4, 1, 5, 1, 6].
(2) Given nums = [1, 3, 2, 2, 3, 1], one possible answer is [2, 3, 1, 3, 1, 2].
解題思路:
- 解題思路
- 解法一定不唯一兼丰,但這一定是最保險的方法饮潦。
# Time: O(nlogn)
# Space: O(n)
class Solution(object):
def wiggleSort(self, nums):
"""
:type nums: List[int]
:rtype: void Do not return anything, modify nums in-place instead.
"""
nums.sort() #復(fù)雜度O(nlogn)
med = len(nums[::2]) - 1
nums[::2], nums[1::2] = nums[med::-1], nums[:med:-1]
#把小的數(shù)字放到奇數(shù)位置捂人,把大的數(shù)字放到偶數(shù)位置。
if __name__ == "__main__":
A = [2, 1, 1, 0, 0, 2]
Solution.wiggleSort(self=None, nums=A)
print(A)