经典算法题:环形队列元素个数(奇虎360笔试编程题)
脚本之家
你与百万开发者在一起
来自:2016年奇虎360 Java研发工程师内推笔试题
题目:设有一个用数组Q[1..m]表示的环形队列,约定f为当前队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向),若队列非空,则计算队列中元素个数的公式应为()
A、 (m+r-f)mod m
B、 r-f
C、 (m-r-f)mod m
D、 (m-r+f)mod m
经典算法题:
小贴士:返回上一级搜索“算法题”挑战更多题目。
备注:
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 | 区块链
机器学习 | 数学 | 送书
● 年薪200万阿里程序员征婚被嘲:低质量的婚姻,远不如高质量的单身
- 第7周实践项目1.1 环形队列中用队尾和队的元素个数来实现队列的算法库
- Java在线笔试编程题(1)---list去除重复元素、幸运袋剪枝法、模拟洗牌
- 经典算法题 :广义表(迅雷笔试题)
- 经典算法题 :所有String2的字母在String1里是否存在(大众点评笔试题)
- 第七周 数据结构之自建算法库——数据环形队列
- 第七周数据结构之自建算法库——顺序环形队列【项目1 - 建立顺序环形队列算法库】
- 笔试面试算法经典--二叉搜索树转有序的双向链表(Java)
- 笔试算法题(05):转换BST为双向链表 & 查找栈中的最小元素
- 笔试面试算法经典-未排序正整数数组中累加和为给定值的子数组
- 经典算法09--优先队列
- [经典算法] 排列组合-N元素集合的所有子集(一)
- 网易实习生笔试编程题1:对序列去重,只保存最后出现的元素
- 经典算法——堆排序笔试题
- 算法:栈与队列的经典案例,模拟迷宫算法
- 笔试算法题(57):基于堆的优先级队列实现和性能分析(Priority Queue based on Heap)
- 第七周项目一C/C++数据结构之自建算法库——顺序环形队列
- 经典算法题 :贪心算法(大众点评笔试题)
- 经典算法题:猜数(360软件测试工程师笔试题)
- 笔试面试算法经典--二叉树的镜像-递归与非递归实现(Java)
- 笔试面试算法经典--打印数组中相加和为给定值的二元组及三元组(Java)