前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >脚撕LeetCode(905)Easy

脚撕LeetCode(905)Easy

作者头像
JathonKatu
发布2022-01-18 08:03:21
1100
发布2022-01-18 08:03:21
举报
文章被收录于专栏:JathonKatu

题目地址:https://leetcode-cn.com/problems/sort-array-by-parity/

给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。 你可以返回满足此条件的任何数组作为答案。 示例:

代码语言:javascript
复制
输入:[3,1,2,4] 
输出:[2,4,3,1] 
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。 
提示:
1 <= A.length <= 5000 
0 <= A[i] <= 5000

https://leetcode-cn.com/problems/sort-array-by-parity/

这道题没什么好说的,奇偶排序,偶数在前奇数在后,一个无序就给予我很大的方便,以为着不用考虑大小顺序问题。

因为我的爆破法接近双百,且评论区也没有接近双百的办法,所以这里只保留爆破法

一、爆破法

这里的爆破法其实就是双指针法,一个从前到后一个从后到前,前面指针遍历到单数则停下,后面遍历到双数则停下,然后交换位置即可。

执行结果如下:

285 / 285 个通过测试用例

状态:通过

执行用时: 1 ms

内存消耗: 38.6 MB

代码语言:javascript
复制
public int[] sortArrayByParityMe(int[] nums) {
    int l = 0, r = nums.length - 1;
    int temp;
    while (l < r) {
        while (nums[l] % 2 == 0 && l < r) l++;
        while (nums[r] % 2 != 0 && l < r) r--;
        if (l >= r) continue;
        temp = nums[l];
        nums[l] = nums[r];
        nums[r] = temp;
    }
    return nums;
}

总的来说,这道题很简单,思路有点像快排,这里发现自己的思路越来越接近双百,感觉挺好的,就是不知道越来越接近官方答好不好,毕竟思维定型了可不是什么好事

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JathonKatu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档