`
messi_18
  • 浏览: 96258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一道面试题-一任意整数数组。写一个函数,把数组里的奇数放前面。偶数放后面。

 
阅读更多
一坨任意整数数组。写一个函数,把数组里的奇数放前面。偶数放后面。来自http://blog.csdn.net/g9yuayon/article/details/2679202
想到了算法之一
# this function is used to move all odd number to front part of an array and even numbers end.
def test(arr)
	 endix = arr.size-1
	 arr.each_with_index do |v,i|
         if i >= endix
			return
		 end
		 
		 if v % 2 == 0 # met a even
			 # swap this even with the last odd
			 until arr[endix] % 2 == 1 or endix <= i
				endix -= 1
			 end
			 arr[i],arr[endix]=arr[endix],arr[i]
		 end
	 end
end

时间复杂度是O(n),空间复杂度是O(1).
分享到:
评论

相关推荐

    wind0926#JAVA2020#面试题21. 调整数组顺序使奇数位于偶数前面1

    面试题21. 调整数组顺序使奇数位于偶数前面题目链接面试题21. 调整数组顺序使奇数位于偶数前面题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,

    剑指Offer(Python多种思路实现):调整数组的顺序使奇数位于偶数前面

    题一:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 解题思路一:使用两个指针,第一个指针初始化指向数组的第一个数字,从前向后移动...

    javalruleetcode-play-leetcode:用程序解决leetcode的算法问题

    调整数组顺序使奇数位于偶数前面 面试题22 链表中倒数第k个节点 面试题24 反转链表 面试题25 合并两个排序的链表 面试题26 树的子结构 面试题27 二叉树的镜像 面试题28 对称的二叉树 面试题29 顺时针打印矩阵 面试题...

    一些C面试题,希望能对大家有帮助

    c面试题 4. static有什么用途?(请至少说明两种) 1.限制变量的作用域 2.设置变量的存储域 7. 引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。...

    leetcode二维数组-programming_exercises:leetcode、nowcoder刷题之路

    调整数组顺序,使奇数位于偶数前面: 链表中倒数第k个节点: 反转链表: 合并两个排序的链表 树的子结构 二叉树的镜像 顺时针打印矩阵 包含main函数的栈 栈的压入、弹出序列 从上往下打印二叉树 二叉搜索树的后序遍历...

    世界500强面试题.pdf

    1.6.3. 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数 位于数组的后半部分 ...........................................................130 1.6.4. 给定链表的头指针和一个...

    为面试做准备的python经典编程题之2

    调整数组顺序使奇数位于偶数之前.py 链表中倒数第k个节点.py 链表中环的入口节点.py 反转链表.py 合并两个排序的链表.py 树的子结构.py 二叉树的镜像.py 对称的二叉树.py 顺时针打印矩阵.py 包含min函数的栈.py 栈的...

    java综合试题(面试题)

    9、两个类同在一个包中,那么在一个类可以访问另一个类的private成员变量。 ( ) 10、方法形式参数的作用域是该方法的方法体。 ( ) 8、两个类同在一个包中,那么在一个类可以访问另一个类的private成员变量。( ...

    leetcode分类-nowcoder:牛客网学习,包括剑指offer,程序员面试金典,leetcode,公司模拟真题,数据结构等

    14调整数组顺序使奇数位于偶数前面 15链表中倒数第k个结点 16反转链表 17合并两个排序的链表 18树的子结构 19二叉树的镜像 20顺时针打印矩阵 21包含min函数的栈 22栈的压入弹出序列 23从上往下打印二叉树 24二叉搜索...

    leetcode2sumc-Coding:Java语言|《剑指offer》与leetcode|AC万万岁!

    《剑指offer》java代码实现,一本关于面试算法题经典的书。 《玩转算法面试》,慕课课程,对leetcode的题目分门别类进行讲解,讲的很好,力荐。 排序算法,快排,归并排序,堆排。 数据结构,目前有循环队列、AVL树...

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

Global site tag (gtag.js) - Google Analytics