测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

PROBLEM SET

题库

按难度与知识点筛选,找到适合的练习题。

共 67434 题
重置

题目列表

共 67434 题
A27071 唯一分解定理描述了关于正整数的什么性质?( ) C-L5 -- 困难 -- A27072 下面的代码用于判断整数n是否是质数,错误的说法是( )。bool is_prime(int n){ if(n<= 1)return false; int finish number =static_cast<int>(sqrt(n))+ 1; for(int i=2;i<finish number; ++i){ if(n%i== 0) return false; } return true; } C-L5 -- 困难 -- A27073 下列C++代码用两种方式求解两个正整数的最大公约数,说法错误的是( )。int gcd0(int big,int smal1){ if(big<small){ swap(big,small); } if(big%small==0){ return small; } return gcd0(small,big %small); } int gcd1(int big, int small){ if(… C-L5 -- 困难 -- A27074 下列C++代码判断一个正整数是否是质数,说法正确的是( )。bool is_prime(int n){ if(n<= 1) return false; if(n==2||n==3l|n== 5) return true; if(n%2=0ln%3==0|n%5==0) return false; int i = 7; int step =4; int finish number = sqrt(n… C-L5 -- 困难 -- A27075 下列C++代码用循环链表解决约瑟夫问题,即假设 n 个人围成一圈,从第一个人开始数,每次数到第 k 个的人就出圈,输出最后留下的那个人的编号。横线上应填写( )。struct Node{ int data; Node* next; }; Node* createcircularList(int n){ Node* head= new Node{1, nullptr}; Node* prev= h… C-L5 -- 困难 -- A27076 基于上题代码正确的前提下,填入相应代码完善 append() ,用于在双向链表尾部增加新节点,横线上应填写( )。void append(int data){ Node* newNode = new Node{data, nullptr, nullptr}; if(is_empty()){ head = tail= newNode; }else { ___________________ } +… C-L5 -- 困难 -- A27077 下面C++代码实现双向链表。函数 is_empty() 判断链表是否为空,如链表为空返回 true ,否则返回false 。横线处不能填写( )。//节点结构体 struct Node { int data; Node* prev; Node* next; }; //双向链表结构体 struct DoubleLink{ Node* head; Node* tail; int size; Doub… C-L5 -- 困难 -- A27078 与数组相比,链表在( )操作上通常具有更高的效率。 C-L5 -- 困难 -- A27081 下面代码采用动态规划求解零钱兑换问题:给定n种硬币,第i种硬币的面值为 coins[i-1] ,目标金额为amt,每种硬币可以重复选取,求能够凑出目标金额的最少硬币数量;如果不能凑出目标金额,返回 -1 。( )int coinchangeDPcomp(vector<int>&coins,int amt){ int n=coins.size(); int MAX = amt + 1; vecto… C-L6 -- 困难 -- A27082 在树的深度优先搜索(DFS)中,使用栈作为辅助数据结构以实现“先进后出”的访问顺序。( ) C-L6 -- 困难 -- A27083 下列代码中的tree向量,表示的是一棵完全二叉树(-1代表空节点)按照层序遍历的结果。( )#include <vector>std::vector<int>tree={1,2,3,4,-1,6,7} C-L6 -- 困难 -- A27084 下列C++ 代码可以成功编译,并且子类child的实例能通过其成员函数访问父类Parent的属性value。( )class Parent{ private: int value =100; }; class child :public Parent{ public: int get_private_val(){ return value;//尝试访问父类的私有成员 } }; C-L6 -- 困难 -- A27085 执行下列代码, my_dog.name 的最终值是 Charlie 。( )class Dog { public: std::string name; Dog(std::string str):name(str){} }; int main(){ Dog my_dog("Buddy"); my_dog.name = "Charlie"; return 0; } C-L6 -- 困难 -- A27087 对一棵二叉排序树进行中序遍历,可以得到一个递增的有序序列。( ) C-L6 -- 困难 -- A27088 为了实现一个队列,使其出队操作( pop )的时间复杂度为0(1)并且避免数组删除首元素0(n) 问题,一种常见且有效的方法是使用环形数组,通过调整队首和队尾指针来实现。( ) C-L6 -- 困难 -- A27090 构造函数可以被声明为virtual。( ) C-L6 -- 困难 -- A27091 给定n个物品和一个最大承重为W的背包,每个物品有一个重wt[i] 和价val[i] ,每个物品只能选择放或不放。目标是选择若⼲个物品放入背包,使得总价值最大,且总重量不超过W 。关于下面代码,说法正确的是( )。int knapsack1D(int W, vector<int>& wt, vector<int>& val, int n){ vector<int>dp(kh1,0); for(in… C-L6 -- 困难 -- A27092 以下关于动态规划算法特性的描述,正确的是( )。 C-L6 -- 困难 -- A27093 下面代码实现一个二叉排序树的插入函数(没有相同的数值),横线处应填入( )。struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int x):val(x),left(nullptr),right(nullptr){} }; void insert(TreeNode*& root, int key){ if(!ro… C-L6 -- 困难 -- A27094 给定一个二叉树,返回每一层中最大的节点值,结果以数组形式返回,横线处应填入( )。#include <vector> #include <queue> #include <algorithm> struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int x):val(x),left(nullptr),right(… C-L6 -- 困难 --