首页 > 试题广场 >

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

[编程题]调整数组顺序使奇数位于偶数前面(一)
  • 热度指数:105855 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

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

输入

[1,2,3,4]

输出

[1,3,2,4]
示例2

输入

[2,4,6,5,7]

输出

[5,7,2,4,6]
示例3

输入

[1,3,5,6,7]

输出

[1,3,5,7,6]
    def reOrderArray(self , array ):
        # write code here
        s1 = []
        s2 = []
        for i in array:
            if i%2==0:
                s2.append(i)
            else:
                s1.append(i)
        return s1+s2
入门等级的题。

发表于 2022-06-14 18:39:26 回复(0)
class Solution:
    def reOrderArray(self, array):
        # write code here
        a1 = []
        a2 = []
        for i in array:
            if i % 2 == 1:
                a1.append(i)
            else:
                a2.append(i)
        a1.extend(a2)
        return a1

发表于 2021-06-03 16:43:34 回复(0)
遍历数组 将偶数移到数组尾部 
class Solution:
    def reOrderArray(self , array ):
        # write code here
        l = len(array)
        low = 0
        while low <=l-1:
            if array[low] %2 ==0:
                temp = array.pop(low)
                array.append(temp)
                l -=1
            else:
                low +=1
        return array
发表于 2021-04-26 17:27:38 回复(0)
# 虽然是一道简单题目。。。自己从0到1写出来,也搞了几十分钟。。。ε=(´ο`*)))唉

class Solution:
    def reOrderArray(self , array ):
        # write code here
        curr = 0
        for i, a in enumerate(array):
            if a % 2 == 1:
                j = i
                while j > curr:
                    array[j-1], array[j] = array[j], array[j-1]
                    j -= 1
                curr += 1
        return array

发表于 2021-04-17 20:38:53 回复(0)
class Solution:
    def reOrderArray(self , array ):
        # 不定义新空间的话,用冒泡
        for i in range(len(array)-1, -1, -1):
            for j in range(i):
                if(array[j] %2 == 0 and array[j+1] % 2 != 0):
                    array[j], array[j+1] = array[j+1], array[j]
        return array

发表于 2021-03-01 14:25:56 回复(1)