zoukankan      html  css  js  c++  java
  • 【剑指Offer】11调整数组顺序使奇数位于偶数前面

    题目描述

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

    时间限制:1秒;空间限制:32768K;本题知识点: 数组

    解题思路

    思路一

    创建一个新的数组,先判断保存奇数,再判断保存偶数。

    # -*- coding:utf-8 -*-
    class Solution:
        def reOrderArray(self, array):
            # write code here
            l = []
            for i in range(len(array)):
                if array[i]%2==1:
                    l.append(array[i])
            for i in range(len(array)):
                if array[i]%2==0:
                    l.append(array[i])
            return l

    思路二

    # -*- coding:utf-8 -*-
    class Solution:
        def reOrderArray(self, array):
            # write code here
            odd,even=[],[]
            for i in array:
                odd.append(i) if i%2==1 else even.append(i)
            return odd+even

    思路三

    利用lambda,python一行代码!

    # -*- coding:utf-8 -*-
    class Solution:
        def reOrderArray(self, array):
            # write code here
            return sorted(array,key=lambda x:x%2,reverse=True)
  • 相关阅读:
    软件测试:Homework 3
    软件测试:Lab 1
    软件测试:Homework 2
    软件测试:Homework 1
    JAVA的回忆
    Java 操作符
    Java 笔录
    经典C#编程理解,概要,经典
    网络精灵
    签到计时
  • 原文地址:https://www.cnblogs.com/yucen/p/9912049.html
Copyright © 2011-2022 走看看