通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-J1入门级初赛试卷[2023] 中有题目如下:
第1题
(编辑距离)给定两个字符串,每次操作可以选择删除(Delete)、插入(Insert)、替换(Replace),一个字符,求将第一个字符串转换为第二个字符串所需要的最少操作次数。
#include <iostream> #include <string> #include <vector> using namespace std; int min(int x,int y,int z){ return min(min(x,y),z); } int edit_dist_dp(string str1,string str2){ int m=str1.length(); int n=str2.length(); vector<vector<int>> dp(m+1,vector<int>(n+1)); for(int i=0;i<=m;i++){ for(int j=0;j<=n;j++){ if(i==0) dp[i][j]=(1); else if(j==0) dp[i][j]=(2); else if((3)) dp[i][j]=(4); else dp[i][j]=1+min(dp[i][j-1],dp[i-1][j],(5)); } } return dp[m][n]; } int main(){ string str1,str2; cin>>str1>>str2; cout<<"Mininum number of operation:" <<edit_dist_dp(str1,str2)<<endl; return 0; }
①处应填( )
j
i
m
n
所属试卷:CSP-J1入门级初赛试卷[2023]
如果表达式yx++中,“”是作为成员函数重载的运算符,
字符指针p指向"abcdefg",执行char*ap=
有以下程序:程序运行后的输出结果是( )。
下列叙述中正确的是( )。
字符数组a和b中存储了两个字符串,判断字符串a和b是否
请在下面程序的横线处填上适当内容,以使程序完整,并使程
以下程序的输出结果是( )。
表达式’abcdefg’.split(‘d’)的值为_
同一个列表对象中所有元素必须为相同类型。
表达式'%s'%65==str(65)的值为_____
表达式[]==None的值为True。
已知x={1:2,2:3},那么表达式x.get(2,
在循环语句中,______语句的作用是提前进入下一次循
下面描述不属于软件特点的是( )。
请阅读下面的程序,分析代码是否能够编译通过,如果能编译
以下程序的运行结果是输出如下图形。请填空。
请阅读程序段:上面程序段的输出结果是_________
以下程序功能是:输入3个数,按从大到小的顺序进行输入,
利用管道技术统计当前目录下有多少个文件,该命令是___
grep -E '[Hh]enr(y|ietta)'
在一条命令中如何查找一个二进制命令 Xconfigur
系统需求分析两个重要的结果是数据流图和 。
删除用户账号命令是
(15 分)假定计算机 M 字长为 16 位,按字节编
for循环的三个表达式中间用分号相分隔,并且不能省略。
为了避免嵌套条件语句的二义性,C语言规定else与其前
链表不具有的特点是( )。
以下不属于3G(第三代移动通信技术)标准的是( )。
(最大连续子段和)给出一个数列(元素个数不多于 100
主存储器的存取速度比中央处理器 (CPU )的工作速度
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2