关注
第三题是这么个意思吗 """ 老王打字: 输入一个字母,步数加1; 选定全部已输入字符,步数加2; 复制全部选定字符,步数加2; 粘贴全部复制字符,步数加2; 按ESC取消选择,步数加1; 问:输入N个字最少需要多少步。 """ # 输入 n = int(input().strip()) dp = [0 for _ in range(n+1)] dp[0] = 0 # 首先确定,最后一次操作要么是输入,要么是粘贴 for i in range(1, n+1): # 1. 最后1步是输入的最小值 dp[i] = dp[i-1]+1 # 2. 最后1步是粘贴的最小值,因为可以多次粘贴,所以需要循环找最后几步都是粘贴的情况, for j in range(2,int(i/2)): # 首先要满足i个字符是j的倍数(一次全选,然后多次粘贴) if i%j != 0: continue # 粘贴j个字符,说明在dp[j]的时候做了全选的操作(+2),取消选择后粘贴是为了避免覆盖掉前面的内容(+1),然后粘贴(i-j)/j次(+((i-j)/j)*2) dp[i] = min(dp[i], int(dp[j]+2+1+((i-j)/j)*2)) # 输出 print(dp[n])
点赞
相关推荐
牛客热帖
更多
正在热议
更多
# 面试体验最好和最差的公司 #
3590次浏览 23人参与
# 如何提高实习转正率? #
98861次浏览 568人参与
# 厦门银行科技岗值不值得投 #
17056次浏览 411人参与
# 烂工作和没工作哪个更痛苦? #
6371次浏览 106人参与
# 重来一次,我还会选择这个专业吗 #
443994次浏览 3943人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
2676次浏览 44人参与
# 银行笔面经互助 #
189903次浏览 1312人参与
# AI替代不了什么? #
5540次浏览 84人参与
# 春招至今,你收到几个面试了? #
11557次浏览 188人参与
# 现在入门AI首先要做什么? #
1256次浏览 39人参与
# 一人分享一个skill #
992次浏览 31人参与
# 学历VS实习,哪个更重要? #
17355次浏览 235人参与
# 选完offer后,你后悔学本专业吗 #
67936次浏览 267人参与
# Agent面试会问什么? #
4356次浏览 117人参与
# 职场吐槽大会 #
344839次浏览 2275人参与
# 总结:offer选择,我是怎么选的 #
280312次浏览 1547人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
10796次浏览 56人参与
# 机械人,你的秋招第一份简历被谁挂了 #
260943次浏览 2435人参与
# 月薪多少能在一线城市生存 #
149019次浏览 908人参与
# 2023届毁约公司名单 #
253259次浏览 1072人参与
# 一人分享一道面试手撕题 #
116608次浏览 2989人参与

查看11道真题和解析