文章目录

  • 1. 题目
  • 2. 解题

1. 题目

假设你有一个特殊的键盘包含下面的按键:

Key 1: (A):在屏幕上打印一个 'A'。Key 2: (Ctrl-A):选中整个屏幕。Key 3: (Ctrl-C):复制选中区域到缓冲区。Key 4: (Ctrl-V):将缓冲区内容输出到上次输入的结束位置,并显示在屏幕上。

现在,你只可以按键 N 次(使用上述四种按键),请问屏幕上最多可以显示几个 'A’呢?

样例 1:
输入: N = 3
输出: 3
解释:
我们最多可以在屏幕上显示三个'A'通过如下顺序按键:
A, A, A样例 2:
输入: N = 7
输出: 9
解释:
我们最多可以在屏幕上显示九个'A'通过如下顺序按键:
A, A, A, Ctrl A, Ctrl C, Ctrl V, Ctrl V
注释:
1 <= N <= 50
结果不会超过 32 位有符号整数范围。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/4-keys-keyboard
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 只按一个键A,直接在前一个状态的个数+1
  • 按ACV的话,可以从前面所有可能的位置ACV一次以后,一直VVV
  • 可以粘贴以后,VVV好于ACV,但是ACVV 好于VVVV(数量一样,但是前者粘贴板的A数量多)


class Solution {public:int maxA(int N) {vector<int> dp(N+1,0);//dp[i] 表示,第 i 次按下键的最多A个数for(int i = 1, j; i <= N; ++i){dp[i] = max(dp[i], dp[i-1]+1);//按下A键for(j = 0; j <= i-2; ++j)//从前面可以的地方选一次进行ACV,后面一直V...// -2 表示 AC的少了2次,后面可以一直粘(i-j-2)次 + 原来自己一次dp[i] = max(dp[i], dp[j]*(i-j-1));}return dp[N];}
};

0 ms 6.1 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 651. 4键键盘(DP,Ctrl+CV)相关推荐

  1. 计算机各键的名称和作用,space是哪个键键盘各键位名称及功用详解

    摘要 腾兴网为您分享:space是哪个键键盘各键位名称及功用详解,之了课堂,云南移动,宜信,学堂在线等软件知识,以及winrar安卓,国泰君安大智慧5,邮政app,骑驴网,s2520打印机,b站,我的 ...

  2. 87键键盘实现小键盘数字/键盘改建软件

    由于本人用的是87键键盘,缺失小键盘,有时玩游戏又需要小键盘,买个外接的小键盘又麻烦,所以百度找了一个改键软件,经过火绒检查无毒无害,如下>>>>>>>> ...

  3. LeetCode 85. 最大矩形(DP/单调递增栈,难)

    文章目录 1. 题目 2. 解题 2.1 DP 2.2 单调递增栈 1. 题目 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 示例: 输入: [[" ...

  4. LeetCode 221. 最大正方形(DP)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积. 示例: 来源:力扣(LeetCode) 链接:https:/ ...

  5. 【华为OD机试真题 python】 5键键盘【2022 Q4 | 100分】

    ■ 题目描述 [5键键盘] 有一个特殊的5键键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键. a键在屏幕上输出一个字母a:ctrl-c将当前选择的字母复制到剪贴板: ct ...

  6. 67键键盘如何输出`和~符号(一百五十一)

    1.使用需求 因为67键键盘符合黄金分割,看上去特别舒服,但是在使用67键蓝牙键盘的时候,因为最上一排没有F1.F2...等,所以需要输出F1.F2需要借助Fn键 . 但是需要输出的特殊的" ...

  7. 华为od统一考试B卷【5键键盘】Java 实现

              所有题目均有五种语言实现.C实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 [5键键盘] 有一个特殊的5键键盘,上面有a,c ...

  8. 【华为OD统一考试B卷 | 100分】5键键盘(C++ Java JavaScript Python)

    华为OD统一考试A卷+B卷 新题库说明 2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统一考试(B卷). 你收到的链接上面会标注A卷还是 ...

  9. 华为OD机试题 - 五键键盘(JavaScript)| 含思路

    最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...

最新文章

  1. MongoDB sharding迁移那些事(一)
  2. 电脑微信多开方法_微信电脑端多开方法
  3. 管能做暖气管道吗_这样的暖气管道施工,标准吗
  4. 仿微软Office 迷你工具条(简易编辑器)
  5. Silverlight Issue , Operation named 'CreateUser' does not conform to the required signature.
  6. linux IP DNS 配置
  7. arrayfun用法
  8. Idea中@Autowired 黄色波浪线问题,注入类显示红色波浪线,去除重复代码导致的波浪黄线,去除xml文件里sql语句的黄色行背景色,问题解决
  9. iOS下浏览器document/body的click事件无效的坑
  10. java pdf 水印_java pdf加水印的方法
  11. 短视频发布之前要注意什么?从配音到发布时间,选对才能吸粉引流
  12. 六大机构好评的Teradata 究竟有哪些过人之处?
  13. 【计算机组成原理】二、静态随机存储器实验
  14. 快狗打车CTO沈剑:怕什么技术无穷尽?进一寸有一寸的欢喜
  15. 【源码阅读】GAT:GRAPH ATTENTION NETWORKS
  16. uniapp请求的封装
  17. 00后女记者的一场直播挑战,触动了多少城市年轻打工人的心
  18. python装饰器带参数函数二阶导数公式_【计算机程序的构造和解释】使用函数构建抽象——5. 高阶函数...
  19. 内存和CPU占用率过高,该怎么办?
  20. 基于Matlab的脉冲多普勒雷达仿真

热门文章

  1. ios把数据传递到另一个页面_IOS 应用之间的跳转和数据传递详解
  2. Codeblocks和gdb调试 (转)
  3. xcode8 崩溃问题
  4. 全国计算机vb考试经典程序设计,全国计算机二级《VB语言程序设计》考试要点...
  5. e480 黑苹果_Thinkpad E480黑苹果组建Fusion Drive——鱼和熊掌我都要
  6. framebuffer驱动详解2——framebuffer驱动框架分析
  7. Linux进程全解5——父子进程对文件的操作
  8. C#面试题整理(不带答案)
  9. 【技术博客-总览--重要】
  10. Python--day 3