280.Wiggle Sort
题目大意:一串无规则数,要排成驼峰状,即a[1] , a[3], a[5] 比左右两侧的数都大(>=).
思路1:
先排序,然后插入新数组,时间复杂度:O(nlgn)+O(n)=O(nlgn)
,空间O(n).
思路2:
一次遍历,a[i]与a[i-1]比较,当i时奇数时,a[i]应大于a[i-1],否则两元素交换.当i为偶数时,a[i]应小于a[i-1],否则交换.一遍下来就能保证奇数位置元素比两侧大.
最后更新于
题目大意:一串无规则数,要排成驼峰状,即a[1] , a[3], a[5] 比左右两侧的数都大(>=).
先排序,然后插入新数组,时间复杂度:O(nlgn)+O(n)=O(nlgn)
,空间O(n).
一次遍历,a[i]与a[i-1]比较,当i时奇数时,a[i]应大于a[i-1],否则两元素交换.当i为偶数时,a[i]应小于a[i-1],否则交换.一遍下来就能保证奇数位置元素比两侧大.
最后更新于