欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

324. Wiggle Sort II | 324. 摆动排序 II(降序穿插)

发布时间:2024/2/28 编程问答 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 324. Wiggle Sort II | 324. 摆动排序 II(降序穿插) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目

https://leetcode.com/problems/wiggle-sort-ii/submissions/

题解

没有一次想到正确的方法,是在 WA 的测试用例的提示下,一点一点修正,才通过的。

思路

降序穿插,并且需要避免数组中间位置可能有的重复。看图:

class Solution {public void wiggleSort(int[] nums) {// sortint[] sorted = new int[nums.length];Arrays.sort(nums);System.arraycopy(nums, 0, sorted, 0, nums.length);// mergeint i = nums.length - 1;int L = (nums.length - 1) / 2;int R = nums.length - 1;while (i >= 0) {nums[i--] = sorted[L--];if (i < 0) break;nums[i--] = sorted[R--];}// reversefor (int j = 0; j < nums.length / 2; j++) {int t = nums[j];nums[j] = nums[nums.length - j - 1];nums[nums.length - j - 1] = t;}} }

总结

以上是生活随笔为你收集整理的324. Wiggle Sort II | 324. 摆动排序 II(降序穿插)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。