Python Leetcode(905.按奇偶排序数组)
Python Leetcode(905.按奇偶排序数组)
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。
你可以返回满足此条件的任何数组作为答案。
示例:
输入:[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
Solution:(最开始的思路是遍历数组,对元素进行判断,奇数的话添加在结果列表后面,偶数的话插入在结果列表前面。)
class Solution(object):def sortArrayByParity(self, A):""":type A: List[int]:rtype: List[int]"""result = []for each in A:if each % 2 == 0:result.insert(0, each)else:result.append(each)return result
solution = Solution()
print(solution.sortArrayByParity([1, 3, 5, 4, 6, 7]))
[6, 4, 1, 3, 5, 7]
Solution:(看了题解之后,发现这道题可以理解成按奇偶性排序,利用双指针,前指针遇到奇数停下,后指针遇到偶数停下,然后交换。)
class Solution(object):def sortArrayByParity(self, A):""":type A: List[int]:rtype: List[int]"""start, end = 0, len(A)-1while start < end:if A[start] % 2 == 0:start += 1elif A[end] % 2 == 1:end -= 1else:A[start], A[end] = A[end], A[start]return A
solution = Solution()
print(solution.sortArrayByParity([1, 3, 5, 4, 6, 7]))
[6, 4, 5, 3, 1, 7]
Python Leetcode(905.按奇偶排序数组)相关推荐
- Leetcode 905. 按奇偶排序数组
给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素. 你可以返回满足此条件的任何数组作为答案. 示例: 输入:[3,1,2,4] 输出:[2,4,3,1] ...
- 905. 按奇偶排序数组
1// 905. 按奇偶排序数组 2/** 3 * @param {number[]} A 4 * @return {number[]} 5 */ 6var sortArrayByParity = f ...
- LeetCode:922. 按奇偶排序数组 II
922. 按奇偶排序数组 II 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 维护俩个标记即可,每次让标记加2 源码: int* sortArrayByParityII(int* A, i ...
- leetcode 922. 按奇偶排序数组 II(双指针)
给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数. 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数:当 A[i] 为偶数时, i 也是偶数. 你可以返回任何满足上述条件的数组 ...
- int型 判断奇偶_905. 按奇偶排序数组
905. 按奇偶排序数组 Loading...leetcode-cn.com 给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素. 你可以返回满足此条件的 ...
- 922. 按奇偶排序数组 II
链接:922. 按奇偶排序数组 II 题解: class Solution {public:vector<int> sortArrayByParityII(vector<int> ...
- js 数组按奇偶拆分_力扣:按奇偶排序数组js
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素. 你可以返回满足此条件的任何数组作为答案. 示例: 输入:[3,1,2,4] 输出:[2,4,3,1] 输 ...
- LeetCode题 - 26 删除排序数组中的重复项 python实现
题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示 ...
- python有序数组中删除元素_python刷LeetCode:26. 删除排序数组中的重复项
题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
最新文章
- 组合特征(五)countvector(w)+doc(w)+hash(w)
- 使用mysql_使用MySQL
- nvcc 已退出,返回代码为1
- sqlalchemy根据表名动态创建model类
- 10分钟部署一个数据中心
- 【C语言位运算的应用】如何按bit位翻转一个无符号整型
- 二叉树删除节点+思路分析
- Java——线程的四种不同形式
- python计算机视觉2:图像边缘检测
- 区块链技术的发展现状_区块链的现状及其发展趋势
- matlab图像处理模板,求助,数字图像处理模板匹配
- SOA架构,面向信号怎么就不香了,以及工程师的四个技术维度:编程,架构,网络,工具
- c#整数数字转汉字一二三四五
- 【Linux】SCP 拷贝命令
- UCHome二次开发 规范
- 计算机ps基础知识大全,全国计算机ps一级考试题型
- 计算机卡慢解决方法,电脑慢的快速解决办法 四种方法电脑速度变快10倍
- 【搞定Go语言】第3天11:Gin框架介绍及使用
- 分析一下weiliu89的caffe-ssd代码吧
- surface go 安装纯AndroidX86系统