经典算法题:整数数组的奇偶数分开(小米笔试题)
脚本之家
你与百万开发者在一起
来自:小米笔试题
题目:在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。请完成sort的代码实现(C++或Java)
C++:
void sort(int N, int[]a){ …}
Java:
void sort(int[]a){ …}
例如:当输入a = {8,4,1,6,7,4,9,6,4},
a = {1,7,9,8,4,6,4,6,4}为一种满足条件的排序结果
经典算法题:
小贴士:返回上一级搜索“算法题”挑战更多题目。
备注:
1、不定期将从留言区选出认真答题的1名朋友,赠与书籍《算法详解(卷1)》一本(兑奖方法跟获奖者私下沟通)
请留言,说出你的解题思路。不定期整理相关的问题答案分享。
算法能力的考察,向来是顶级科研机构和IT公司面试时最具备区分度的成分,算法功夫扎实,提升面试效率。
这种想法其实也不无道理,从小接受系统化训练,参加过信息学竞赛或ACM,肯定会对算法问题反应更快一些。可是这样的人毕竟是极少数,而且即使是他们,也无一不是长期大量地训练才会不断进步。这至少说明,算法并非天外之学,而是一种能够通过训练掌握的技能。换言之,对于5%的真正难题,也许真的是只为5%的天才而存在的。但是其余的95%,却是95%像你我一样的普通人自学可以达成的目标。
提升算法能力,小编带来了一份高效入门书单。
算法入门
01 趣学算法
编辑推荐:
本书从算法之美娓娓道来,没有高深的原理,也没有枯燥的公式,通过趣味故事引出算法问题,包含50多个实例及完美图解,结合学生提问,分析算法本质,并给出代码实现的详细过程和运行结果。
本书可作为程序员的学习用书,也适合从未有过编程经验但又对算法有强烈兴趣的初学者使用,同时也可作为高等院校计算机、数学及相关专业的师生用书和培训学校的教材。
02 算法详解(卷1)——算法基础
编辑推荐:
这本书在美亚评分4.7,在作者在线算法课程的基础之上编写的,是四卷本系列的第1卷。这个在线课程2012年起就定期更新,它建立在作者在斯坦福大学教授多年的本科课程的基础之上。也许你有所耳闻,这本书就是《算法详解(卷1)——算法基础》。如果你更喜欢听和看,可以在YouTobe上搜索这本书的主题课程,免费观看。
《算法详解(卷1)——算法基础》作者蒂姆·拉夫加登(Tim Roughgarden)是斯坦福大学计算机科学系的教授,也是该校管理科学和工程系的客座教授,他从2004年开始教授和研究算法。本书是他的《算法详解》四部曲的第一卷。
这本书详细讲解算法基础,展现算法本质 ,是一本囊括基本算法知识的详解指南。集斯坦福大学教授多年教学经验,深入浅出,通俗易懂。
03 Python算法详解
编辑推荐:
本书循序渐进、由浅入深地讲解Python算法的核心技术,并通过具体实例的实现过程演练各个知识点的具体使用流程。全书共13章,包括算法,数据结构,常用的算法思想、线性表、队列和栈,树,图,查找算法,内部排序算法,经典的数据结构问题,数学问题的解决,经典算法问题的解决,图像问题的解决,游戏和算法等内容。
本书不但适合研究和学习算法的初学者,也适合有一定算法基础的读者,还可以作为大中专院校相关专业师生的学习用书和培训学校的教材。
更多精彩
在公众号后台对话框输入以下关键词
查看更多优质内容!
女朋友 | 大数据 | 运维 | 书单 | 算法
大数据 | JavaScript | Python | 黑客
AI | 人工智能 | 5G | 区块链
机器学习 | 数学 | 送书
- 整数数组的奇偶数分开(小米笔试题)
- 奇偶数排序--整数数组的奇偶数分开(小米公司笔试题)
- 经典算法题 :整数数组中找出前50个最大的最快方式(360笔试题)
- 【每天一道算法题】给定一个存放整数的数组,要求数组左边为奇数,右边为偶数
- 【经典算法】:剑指offer(08)-调整数组顺序使奇数位于偶数前面
- 笔试面试算法经典--数组partition调整使数组的左部分单调有序
- 笔试面试算法经典--连续子数组的最大乘积及连续子数组的最大和(Java)
- C++在同一行输入多个整数(用空格分开)储存到一个数组中(+一道笔试题)
- 笔试面试算法经典--打印数组中相加和为给定值的二元组及三元组(Java)
- 笔试算法题(17):奇偶数分置数组前后段 & 反序访问链表
- 已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。
- 笔试面试算法经典-打印n个数组中最大的topk
- c语言经典算法——查找一个整数数组中第二大数
- 百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 经典算法题:无序整数数组中找第k大的数
- 笔试面试算法经典-未排序正整数数组中累加和为给定值的子数组
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数---百度笔试题
- c语言经典算法——查找一个整数数组中第二大数
- 笔试面试算法经典-找到数组中出现次数大于N/k的数(Java)
- 经典算法——调整数组顺序使奇数位于偶数前面