首页 > 试题广场 >

调整数组顺序使奇数位于偶数前面(二)

[编程题]调整数组顺序使奇数位于偶数前面(二)
  • 热度指数:21545 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。

数据范围:,数组中每个数的值
要求:时间复杂度 ,空间复杂度
示例1

输入

[1,2,3,4]

输出

[1,3,2,4]

说明

[3,1,2,4]或者[3,1,4,2]也是正确答案 
示例2

输入

[1,3,5,6,7]

输出

[1,3,5,7,6]

说明

[3,1,5,7,6]等也是正确答案 
示例3

输入

[1,4,4,3]

输出

[1,3,4,4]
class Solution:
    def reOrderArrayTwo(self , arr: List[int]) -> List[int]:
        # write code here
        arr.sort(key=lambda x:(x%2+1)%2)
        return arr

发表于 2022-10-15 10:47:24 回复(0)
class Solution:
    def reOrderArrayTwo(self , array: List[int]) -> List[int]:
        # write code here
        n = len(array)
        i=0
        while i<n:
            if array[i]%2==0:
                array.append(array[i])
                array.pop(i)
                n -=1
            else:
                i +=1
        return array

发表于 2022-04-21 16:20:53 回复(1)

问题信息

上传者:牛客301499号
难度:
4条回答 4101浏览

热门推荐

通过挑战的用户

查看代码