PROBLEM SET
题库
按难度与知识点筛选,找到适合的练习题。
题目列表
共 67434 题
A67466
下面的C++代码用于输出每个数对应的质因数列表,输出形如: {5: [5], 6: [2, 3], 7: [7], 8: [2, 2, 2]} 。int main() {
2025年
--
--
A67465
下面的C++代码实现归并排序。代码在执行时,将输出一次 HERE 字符串,因为merge()函数仅被调用一次。
2025年
--
--
A67464
归并排序的最好、最坏和平均时间复杂度均为0(n log n).
2025年
--
--
A67463
查字典这个小学生必备技能,可以把字典视为一个已排序的数组。假设小杨要查找一个音首字母为 g 的单 词,他首先翻到字典约一半的页数,发现该页的首字母是 m ,由于字母表中 g 位于 m 之前,所以排除字典后半部 分,查找范围缩小到前半部分;不断重复上述步骤,直至找到首字母为 g 的页码。这种查字典的一系列操作可看作 二分查找。
2025年
--
--
A67462
求解下图中A点到D点最短路径,其中A到B之间的12可以理解为距离。求解这样的问题常用Dijkstra算法,其 思路是通过逐步选择当前距离起点最近的节点来求解非负权重图(如距离不能为负值)单源最短路径的算法。从该 算法的描述可以看出,Dijkstra算法是贪心算法。
2025年
--
--
A67461
分治算法将原问题可以分解成规模更小的子问题,使得求解问题的难度降低。但由于分治算法需要将问题进 行分解,并且需要将多个子问题的解合并为原问题的解,所以分治算法的效率通常比直接求解原问题的效率低。
2025年
--
--
A67460
函数 puzzle 定义如下,则调用 puzzle(7) 程序会无限递归。int puzzle(int n) {
2025年
--
--
A67459
如下为线性筛法,用于高效生成素数表,其核心思想是每个合数只被它的最小质因数筛掉一次,时间复杂 度为0(n)。vector<int> linearSieve(int n) {
2025年
--
--
A67458
奖品兑换
2025年
--
--
A67457
最大公因数
2025年
--
--
A67456
下列哪一项不是面向对象编程的基本特征?
2025年
--
--
A67455
为了让 Dog 类的构造函数能正确地调用其父类 Animal 的构造方法,横线线处应填入( )。
2025年
--
--
A67454
横线处填入代码Animal(name),C++代码执行结果是( )。
2025年
--
--
A67453
以下关于栈和队列的C++代码,执行后输出是( )。stack<int> s;
2025年
--
--
A67452
在一个循环队列中, front 是指向队头的指针, rear 指向队尾的指针,队列最大容量为 maxSize 。判断 队列已满的条件是( )。
2025年
--
--
A67451
请将下列 C++ 实现的深度优先搜索(DFS)代码补充完整,横线处应填入( )。struct TreeNode {
2025年
--
--
A67450
给定一个二叉树,返回每一层中最大的节点值,结果以数组形式返回,横线处应填入( )。#include <vector>
2025年
--
--
A67449
下面C++代码实现一个二叉排序树的插入函数(没有相同的数值),横线处应填入( )。struct TreeNode {
2025年
--
--
A67448
给定 n 个物品和一个最大承重为w 的背包,每个物品有一个重量 wt[i]和价值val[i] ,每个物品只能选择放或 不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过 w。关于下面c++代码,说法正确的是( )。int knapsack1D(int W, vector<int>& wt, vector<int>& val, int n) {
2025年
--
--
A67447
构造函数可以被声明为 virtual。
2025年
--
--