【牛客网】调整数组顺序使奇数位于偶数前面 解题报告

标签(空格分隔): 牛客网


题目地址:https://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593?orderByHotValue=1&page=1&onlyReference=false

题目描述:

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

Ways

可以用排序等思想,但是没有限制空间复杂度啊!直接两个奇数偶数两个数组再放到一块就行了!

# -*- coding:utf-8 -*-
class Solution:
def reOrderArray(self, array):
def isOdd(a):
return (a & 1) == 1
answer = [i for i in array if isOdd(i)]
answer.extend([i for i in array if not isOdd(i)])
return answer

方法二:

sorted()函数。

# -*- coding:utf-8 -*-
class Solution:
def reOrderArray(self, array):
return sorted(array, key = lambda x: x % 2 == 0)

Date

2017 年 8 月 30 日

最新文章

  1. 【Java EE 学习 82 下】【MAVEN整合Eclipse】【MAVEN的一些高级概念】
  2. Android Studio添加aar
  3. 两个list 合并成新一个list
  4. Asset Catalog Help (二)---Creating an Asset Catalog
  5. 笔记——Visual Studio 程序员箴言
  6. android 进程什么时候被销毁
  7. 一篇介绍jquery很好的
  8. P3245: 最快路线
  9. [改善Java代码] 推荐使用序列化实现对象的拷贝
  10. librarynotfoundforlPodsAFNetworking解决放案
  11. Layer 一个让你想到即可做到的web弹窗/层 解决方案
  12. QTP 11.05下载并完成+皴
  13. BinTools 十六进制转换
  14. 笔记:查看linux系统开机时间
  15. 2016年7月微软MVP申请開始了!
  16. oracle帐号scott被锁定如何解锁
  17. js相关
  18. phpstudy中 MySQL版本升级
  19. maven跳过测试编译命令
  20. https://finance.sina.com.cn/realstock/company/sh600522/nc.shtml

热门文章

  1. 关于SQL中Union和Join的用法
  2. List 去重的 6 种方法,这个方法最完美!
  3. adjective
  4. Shell学习(九)——chattr与lsattr命令详解
  5. rust常用技巧
  6. 【Linux】【Commands】trouble shooting命令详解目录
  7. Linux系统分区及挂载点
  8. go channel 概述
  9. 找出1小时内占用cpu最多的10个进程的shell脚本
  10. 【Java】【设计模式】单例设计模式