基础题库
探索各种基础编程概念和问题解决技巧
请登录后使用状态筛选
精明与糊涂(多数派候选消除)有N个人,分为两类:
①精明人:永远能正确判断其他人是精明还是糊涂;
②糊涂人:判断不可靠,会给出随机的判断。
已知精明人严格占据多数,即如果精明人有k个,则满足(k>N/2)。你只能通过函数query(i,j)让第i个人判断第j个人:返回true表示判断结果为“精明人”;返回false表示判断结果为“糊涂人”。目标是通过互相判断,找出至少一个百分之百能确定的精明人(无需关心query(i,j)的内部实现)。以下程序利用“精明人占多数”的优势,通过“消除”过程让人们互相判断并抵消,经过若干轮抵消后,最终留下的候选者必然属于多数派(精明人),试补全程序。⑤处应填()
精明与糊涂(多数派候选消除)有N个人,分为两类:
①精明人:永远能正确判断其他人是精明还是糊涂;
②糊涂人:判断不可靠,会给出随机的判断。
已知精明人严格占据多数,即如果精明人有k个,则满足(k>N/2)。你只能通过函数query(i,j)让第i个人判断第j个人:返回true表示判断结果为“精明人”;返回false表示判断结果为“糊涂人”。目标是通过互相判断,找出至少一个百分之百能确定的精明人(无需关心query(i,j)的内部实现)。以下程序利用“精明人占多数”的优势,通过“消除”过程让人们互相判断并抵消,经过若干轮抵消后,最终留下的候选者必然属于多数派(精明人),试补全程序。⑤处应填()
有5个红色球和5个蓝色球,它们除了颜色之外完全相同。将这10个球排成一排,要求任意两个蓝色球都不能相邻,有多少种不同的排列方法?
有5个红色球和5个蓝色球,它们除了颜色之外完全相同。将这10个球排成一排,要求任意两个蓝色球都不能相邻,有多少种不同的排列方法?
对一个大小为16(下标0-15)的数组上构建满线段树。查询区间[3,11] 时,最少需要访问多少个树结点(包括路径上的父结点和完全包含在查询区间内的结点)?
对一个大小为16(下标0-15)的数组上构建满线段树。查询区间[3,11] 时,最少需要访问多少个树结点(包括路径上的父结点和完全包含在查询区间内的结点)?
将字符串"cat","car","cart","case","dog","do"插入一个空的Trie树(前缀树)中。构建完成Trie树(包括根节点)共有多少个结点?
将字符串"cat","car","cart","case","dog","do"插入一个空的Trie树(前缀树)中。构建完成Trie树(包括根节点)共有多少个结点?
对于一个包含n个结点和m条边的有向无环图(DAG),其拓扑排序的结果有多少种可能?
对于一个包含n个结点和m条边的有向无环图(DAG),其拓扑排序的结果有多少种可能?
在一个大小为 13 的哈希表中,使用闭散列法的线性探查来解决冲突。哈希函数为 H(key)=key mod13。依次插入关键字18,26,35,9,68,74。插入74后,它最终被放置在哪个索引位置?
在一个大小为 13 的哈希表中,使用闭散列法的线性探查来解决冲突。哈希函数为 H(key)=key mod13。依次插入关键字18,26,35,9,68,74。插入74后,它最终被放置在哪个索引位置?
一个包含8个顶点的完全图(顶点的编号为1到8),任意两点之间的边权重等于两顶点编号的差的绝对值。例如,顶点3和7之间的边权重为|7-3|=4。该图的最小生成树总权重是多少?
一个包含8个顶点的完全图(顶点的编号为1到8),任意两点之间的边权重等于两顶点编号的差的绝对值。例如,顶点3和7之间的边权重为|7-3|=4。该图的最小生成树总权重是多少?
如果一棵二叉搜索树的后序遍历序列是2,5,4,8,12,10,6,那么该树的前序遍历是什么?
如果一棵二叉搜索树的后序遍历序列是2,5,4,8,12,10,6,那么该树的前序遍历是什么?
一个0-1背包问题,背包容量为20。现有5个物品,其重量和价值分别为7,5,4,3,6和15,12,9,7,13。装入背包的物品能获得的最大总价值是多少?
一个0-1背包问题,背包容量为20。现有5个物品,其重量和价值分别为7,5,4,3,6和15,12,9,7,13。装入背包的物品能获得的最大总价值是多少?
在一棵以结点1为根的树中,结点12和结点18的最近公共祖先(LCA)是结点4。那么下列哪个结点的LCA组合是不可能出现的?
在一棵以结点1为根的树中,结点12和结点18的最近公共祖先(LCA)是结点4。那么下列哪个结点的LCA组合是不可能出现的?