- 如图,题目要求将数组按照坐标为奇数大于坐标为偶数。
- 思路1:将数组变成有序数组,然后在用头尾指针来将有序数组填入原数组中。
设nums = [1,5,1,1,6,4],首先将其排序然后赋值给新的数组order,order = [1,1,1,4,5,6].然后设置头指针i = 0,尾指针j = len(order) - 1,将头指针的元素填入nums中坐标为偶数的位置,将尾指针的元素填入nums中坐标为奇数的位置。
class Solution:
def wiggleSort(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
order = sorted(nums)
# print(order)
i = 0
j = len(order) - 1
index = 0
while i < j:
nums[index] = order[i]
nums[index + 1] = order