324. Wiggle Sort II

題目要求:

將一個(gè)數(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].

解題思路:
  • 解題思路
  • 解法一定不唯一,但這一定是最保險(xiǎn)的方法。
# 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)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容