Given an unsorted array nums,reorder it in-place such that nums[0] <= nums[1] >= nums[2] <= nums[3]....
For example,given nums = [3,5,2,1,6,4],one possible answer is [1,3,4].
给定一个未排序的数组nums,将其重新排序,使nums[0]<=nums[1]>=nums[2]<=nums[3]…
例如,给定nums=[3,5,2,1,6,4],一个可能的答案是[1,6,2,5,3,4]。
Solution
1 class Solution { 2 func wiggleSort(_ nums:inout [Int]) { 3 if nums.count <= 1 {return } 4 for i in 1..<nums.count 5 { 6 if (i % 2 == 1 && nums[i] < nums[i - 1]) || (i % 2 == 0 && nums[i] > nums[i - 1]) 7 { 8 nums.swapAt(i,i - 1) 9 }10 } 11 }12 }
点击:Playground测试
1 var sol = Solution()2 var arr:[Int] = [3,5,2,1,6,4]3 sol.wiggleSort(&arr)4 print(arr)5 //Print [3,4]总结
以上是内存溢出为你收集整理的[Swift]LeetCode280. 摆动排序 $ Wiggle Sort全部内容,希望文章能够帮你解决[Swift]LeetCode280. 摆动排序 $ Wiggle Sort所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)