- 0
- 0
- 约4.24千字
- 约 8页
- 2026-02-03 发布于浙江
- 举报
技术真题(10-15题回忆版,答案12-13,部分题有题干缺失无答案,
答案仅供参考)
答案
10题程序可能有点问题,程序执行不出正确的结果
11题
递归算法的程序是要求将字符串s的值隔两个取一个逆序输出,所以程序二从前往后隔两个
取一个然后逆序输出选D
deff(s,t):
ift=len(s)-2:
returns[t]
else:
returnf(s,t+2)+s[t]
s=2145768
print(f(s,0))
程序结果:8742
s=2145768
n=len(s)
r=
foriinrange(0,n,2):
r=s[i]+r
print(r)
程序结果:8742
12题为了让一些代码不是很好的同学也可以看懂,用了最简单的程序编写c列表的元素
importrandomasrd
#生成c的元素
c=[0]*100#c
foriinrange(5):
c[i]=1
c[5:10]=[2,3,2,3,3]
foriinrange(10,90):
c[i]=rd.randint(1,9)
c[90:100]=[2,3,2,2,2,2,1,1,1,1]
print(c)
pa=[0,0,0,0,0]#两个空数组
pb=[0,0,0,0,0]
h,t=0,4#队首和队尾设定指针
tmp=0#中介负责变量值替换
forkinrange(100):
pa[t]=c[k]#t先执行入队操作pa[t]直接赋值
print(pa)
pb[t]=tmp+pa[t]-pa[h]#pb[t]=tmp的值+pa[t]-pa队首的元素
print(pb)
print(pb[h],pb[t])
tmp=pb[t]
print(tmp)
h=(h+1)%5
t=(t+1)%5
这段代码模拟了一个队列的操作,具体是模拟两个队列pa和pb,并在循环中对这两个队
列进行更新。
代码解析:
初始化队列pa和pb:
pa=[0,0,0,0,0]#初始化队列pa
pb=[0,0,0,0,0]#初始化队列pb
h,t=0,4#队列的头指针h和尾指针t,队列长度为5
tmp=0#初始化tmp,临时存储pb[t]的值
pa和pb都是长度为5的队列,初始化时全为0。
h是队列头部指针,初始值为0。
t是队列尾部指针,初始值为4(注意,这可能是队列的最大索引,表示队列的最后一个元
素)。
tmp是一个临时变量,用来保存pb[t]的值,以便在下一次迭代中使用。
主循环
forkinrange(100):
print(k)
pa[t]=c[k]#将c[k]放入队列pa的尾部
print(pa)#打印队列pa
pb[t]=tmp+pa[t]-pa[h]#更新pb[t]
print(pb)#打印队列pb
print(pb[h],pb[t])#打印队列pb的头部和尾部元素
tmp=pb[t]#将pb[t]的值赋给tmp
print(tmp)#打印tmp的值
h=(h+1)%5#更新队列头部指针,使用模运算使其循环
t=(t+1)%5#更新队列尾部指针,使用模运算使其循环
这个循环会迭代100次,每次迭代都做以下操作:
pa[t]=c[k]:将c[k]的值放入队列pa的尾部。
打印pa:输出当前pa队列的内容。
pb[t]=tmp+pa[t]-pa[h]:更新pb[t],这个计算使用了tmp(上一次pb[t]的值)、pa[t]和
pa[h](队列头部的元素)。
打印pb:输出当前pb队列的内容。
print(p
最近下载
- 2026年详版个人信用报告征信报告最新Word可编辑模版样板doc文件.docx
- 2026届安徽省宿州市十三校高一物理第一学期期末教学质量检测模拟试题含解析.doc
- 2025年黑龙江生物科技职业学院单招笔试职业能力测验试题库含答案解析.docx VIP
- 高原反应防范急救PPT.pptx VIP
- 2026年高考数学一轮复习 讲义: 解三角形 学生(全国通用).docx
- 高考数学一轮复习讲义解三角形学生.docx VIP
- 遮帘式板桩码头计算方法研究.pdf VIP
- 急性支气管炎诊疗指南(2025年版).docx VIP
- 2026高考数学一轮复习讲义:导数解答题题型全归纳(全国通用)原卷版.pdf VIP
- 青岛大学《高等数学》2020-2021 期中考试.docx VIP
原创力文档

文档评论(0)