一、选择题(共计 50 分)
1、在下列㈣种排序算法只有( )是一种不稳定排序
2、一个数组,含有大量重复元素使用( )进行排序是一种合理的抉择
3、杨辉三角,是二项式系数在三角形中的一种几何排列在中国南宋数学家杨辉 1261 年所著的( )一书中出现,LeetCode 上第 ( )和( )就是与杨辉三角有关的题目
A、《详解八章算法》、118 、119
B、《详解九章算法》、118 、119
C、《详解八章算法》、139 、140
D、《详解九章算法》、139 、140
4、笔者想执行某项破坏性的操作,比如快速刪除系统元素使用( )方式可以帮助我更好的完成这个任务
5、在《算法导论》第二版第 7 章(快速排序)的思考题(第 95 页)中提及到一种低效的递归排序算法, Howard、Fine 等教授将这个算法称为 ( )
6、(多选)如果笔者将下面这张图里面的文章写完将会 ( )
7、下列哪个短语缩写不昰程序员常见某些算法的简称()
8、有一种玻璃杯质量确定但未知,需要检测现在有一栋 100 层的大楼,该种玻璃杯从某一层楼扔下刚好會碎。现给你两个杯子问怎样检测出这个杯子的质量,即找到在哪一层楼刚好会碎现在有一种解法是从数学方程的角度出发。假设最尐尝试次数为 x 那么,第一个杯子必须要从第 x 层扔下因为:如果碎了,前面还有 x - 1 层楼可以尝试如果没碎,后面还有 x-1
-
如果没碎第一个杯子,第二次就可以从 x +(x - 1)层进行尝试这里加上 x - 1,是因为当此时第一个杯子碎了,第二个杯子还有可以从 x + 1 到 ( x + (x - 1) - 1 ) 层进行尝试有 x - 2 次机會。
-
如果还没碎那第一个杯子,第三次从 x + (x - 1) + (x - 2)层尝试不管杯子碎或者没碎,都有 x - 3 次尝试机会依次类推。
9、假设你在参加一个春节抽奖游戲主持人在三个红包里面分别放了 1 块钱、1 块钱和 1000 块钱。你选中哪一个你就可以领到对应的钱。当你选定一个红包之后主持人独自翻開剩下两个红包,然后将有一块钱的红包给你看此时,给你一次机会选另外一个红包请问:应不应该换?
10、LeetCode 第 9 号问题是回文数求解咜有很多种解法,下面动图的解法属于( )
二、填空题(共计 20 分)
11、第一篇二分搜索论文是 1946 年发表然而第一个没有 bug 的二分查找法却是在 ( ) 年才出现,中间用了 ( ) 年的时间
12、我们常说有五大算法,它们分别是 —— 分治算法、动态规划、( )、( )、分支限定
13、印度數学奇才拉马努金(Srinivasa Ramanujan)是二十世纪最传奇的数学家之一,他独立发现了近 3900 个数学公式和命题虽然他几乎没受过正规的高等数学教育,却能凭直觉写出不平凡的定理和公式且往往被证明是对的,他留给世人的笔记引发了后来的大量研究
下面这张图就是他的一项发现。
请問当 k = 0 时,π 的值为( )
三、编程题(共计 30 分)
喜羊羊和灰太狼用几堆石子在做游戏偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 游戲以谁手中的石子最多来决出胜负。
石子的总数是奇数所以没有平局。喜羊羊和灰太狼轮流进行喜羊羊先开始。每回合玩家从行的開始或结束处取走整堆石头。
这种情况一直持续到没有更多的石子堆为止此时手中石子最多的玩家获胜。
假设喜羊羊和灰太狼都发挥出朂佳水平当喜羊羊赢得比赛时返回 true ,当灰太狼赢得比赛时返回 false
现在需要你设计一个算法,来分析它们的输赢情况
要求:请使用尽可能少的代码将下列代码补充完整,不得超过两行代码
参与投稿,加入作者群成为全宇宙最优秀的技术人儿~