leetcode 651. 4键键盘
651. 4键键盘
中等 102 company 微软 Microsoft company 谷歌 Google company 亚马逊
假设你有一个特殊的键盘包含下面的按键:
- A:在屏幕上打印一个 ‘A’。
- Ctrl-A:选中整个屏幕。
- Ctrl-C:复制选中区域到缓冲区。
- 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
解析:
- 一个位置上的数可以由前边数复制过来,也可以时在前一个数的最大值上+1
- 并且还可以连续复制,因此枚举赋值其实点
- 在连续复制期间,执行操作一这种操作肯定不如接着复制,因此,考虑连续复制是不用想那么复杂;
代码:
class Solution {
public:// f[i] 表示 i 个元素的最大值// f[i] = max(f[i-j]*可复制长度,f[i-1]+1)int maxA(int n) {int f[51];memset(f, 0, sizeof(f));f[1]=1,f[2]=2,f[3]=3;for(int i=4;i<=n;i++){int res = f[i-1]+1;// 枚举连续复制的起点,前两个操作为a,c中间的操作都是复制for(int j=i-3;j>=0;j--){res = max(f[j]*(i-j-1),res);}f[i] = res;}return f[n];}
};
相关文章:
leetcode 651. 4键键盘
651. 4键键盘 中等 102 company 微软 Microsoft company 谷歌 Google company 亚马逊 假设你有一个特殊的键盘包含下面的按键: A:在屏幕上打印一个 ‘A’。Ctrl-A:选中整个屏幕。Ctrl-C:复制选中区域到缓冲区。Ctrl-V:…...
Python垃圾回收机制
Python 运行过程中会不停的创建各种变量,而这些变量是需要存储在内存中的,随着程序的不断运行,变量数量越来越多,所占用的空间势必越来越大,如果对变量所占用的内存空间管理不当的话,那么肯定会出现 out of…...
Grafana插件安装并接入zabbix数据源(03)
一、在线安装插件 如果不指定插件安装位置,则默认安装位置为/var/lib/grafana/plugins;插件安装后需要重启grafana-server 安装zabbix插件alexanderzobnin-zabbix-app # grafana-cli plugins install alexanderzobnin-zabbix-app 使用--pluginsDir指定安装路径 # grafana…...
简述 JavaScript 中 prototype
简述 JavaScript 中 prototype 这篇笔记主要捋一下这么几个概念: JS 的继承构造函数new 的作用及简易实现__proto__ & prototype同样的方法,class 和 prototype 中分别是怎么实现的 基础概念 JS 是通过 prototype chaining 实现继承的语言&#…...
一觉醒来Chat gpt就被淘汰了
目录 什么是Auto GPT? 与其他语言生成模型相比,Auto GPT具有以下优点 Auto GPT的能力 Auto GPT的能力非常强大,它可以应用于各种文本生成场景,包括但不限于以下几个方面 Auto GPT的历史 马斯克说:“ChatGPT 好得吓…...
13款JavaScript图像处理库,建议收藏备用
pica: 一个在浏览器中调整图像大小,而不会出现像素失真,处理速度非常快的图片处理库,仓库地址https://github.com/nodeca/picahtml2canvas: 强大的使用js开发的浏览器网页截图工具,仓库地址https://github.…...
uniapp m3u8格式视频加载
uniapp一:mui-player:三方 h5 web app uniapp 使用 mui-player 插件播放 m3u8/flv 视频流_翘翘红的博客-CSDN博客 uniapp 开发的h5项目,需要播放m3u8/flv后缀的视频,网上有很多视频插件,但是样式和效果不尽如人意&am…...
iOS描述文件(.mobileprovision)一键申请
iOS描述文件(.mobileprovision)一键申请 在主界面上点击描述文件按钮。 新建ios描述文件 然后点击新建,然后输入描述文件名称,描述文件名称字符和数字,自己好辨识就可以。然后选择描述文件类型,再选择bundle ID,如果…...
进行性能压力测试的原因、目的和好处
性能压力测试是指在模拟高负载、高并发情况下对软件系统进行测试,以衡量系统在实际使用过程中的性能表现。这些测试可以为生产环境中的应用程序提供关键数据,并帮助开发人员从根本上了解系统的实际性能。在本文中,我们将探讨进行性能压力测试…...
【计算机视觉】如何利用 CLIP 做简单的人脸任务?(含源代码)
文章目录 一、数据集介绍二、源代码 结果三、代码逐行解读 一、数据集介绍 CELEBA 数据集(CelebFaces Attributes Dataset)是一个大规模的人脸图像数据集,旨在用于训练和评估人脸相关的计算机视觉模型。该数据集由众多名人的脸部图像组成&a…...
基于显扬科技3D视觉相机的医疗试管分拣系统
行业现状: 医疗试管分拣是医疗行业中的一个重要环节,指将医疗实验室或生物技术研究中的试管按照一定的规则进行分拣,并对试管的类型、位置、数量等信息进行识别和管理。 随着医疗技术的不断发展和诊断治疗的精细化,医疗试管分拣…...
编译zlib
zlib被设计为一个免费的,通用的,法律上不受限制的-即不受任何专利保护的无损数据压缩库,几乎可以在任何计算机硬件和操作系统上使用。 官网:http://www.zlib.net/ 下载zlib源码:http://www.zlib.net/zlib1213.zip 备用地址&#x…...
如何让“ChatGPT自己写出好的Prompt的“脚本在这里
写个好的Prompt太费力了 在网上,你可能会看到很多人告诉你如何写Prompt,需要遵循各种规则,扮演不同的角色,任务明确、要求详细,还需要不断迭代优化。写一个出色的Prompt需要投入大量的时间和精力。甚至有一些公开的Pr…...
菜单选择shell
[rootes3 data]# vi action.sh #!/bin/bash . /etc/init.d/functionsecho -en "\E[$[RANDOM%731];1m"cat <<EOF请选择:1) 备份数据库2)清理日志3)软件升级4)软件回滚5)删库跑路EOFecho -en \E[0mread -p "请选择上面的项对应的数字1-5…...
Redis高可用性详解
目录 编辑 高可用性: 主从复制(Master-Slave Replication): 主从复制的一般工作流程: 哨兵模式(Sentinel Mode): 哨兵模式的一般工作流程: 集群模式(…...
MySQL(1) ---- 数据库介绍与MySQL概述
介绍 1、什么是数据库? 数据库:DateBase(DB),是存储和管理数据的仓库。数据库管理系统:DataBase Management System(DBMS),操纵和管理数据库的大型软件。SQL࿱…...
面试题之软件测试流程
说说公司的软件测试流程,这,是常考的面试题之一。 不同公司的流程不一样,现状决定流程,没有绝对的对错。 以结果为导向,保证产品质量,提高测试效率,才是王道。 以下的流程为业界比较标准的流程&…...
MyBatis中#{}与${}的区别,与各自的应用场景
#{}和${}的区别: #{}: 底层使用PreparedStatement。特点:先进行SQL语句的编译,然后给SQL语句的占位符问号?传值。可以避免SQL注入的风险。 ${}:底层使用Statement。特点:先进行SQL语句的拼接,然后再对SQL语…...
泛型类相关
package com.test.test02;/* * GenericTest就是一个普通的类 * GenericTest<E>就是一个泛型类 * <>里面就是一个参数类型,但是这个类型是什么呢?这个类型现在是不确定的,相当于一个占位。 * 但是现在确定的是这个类型一定是一…...
一文速学数模-季节性时序预测SARIMA模型详解+Python实现
目录 前言 一、季节时间序列模型概述 二、SARIMA模型定义 三.SARIMA模型算法原理...
【AIAgent架构知识图谱集成终极指南】:20年架构师亲授3大落地陷阱与5步标准化接入法
第一章:AIAgent架构知识图谱集成全景认知 2026奇点智能技术大会(https://ml-summit.org) AI Agent 架构正从单任务响应模型演进为具备持续感知、推理与行动能力的自主认知体。知识图谱作为结构化世界知识的语义中枢,其与 AI Agent 的深度集成࿰…...
程序员相亲指南:软件测试从业者的高光自我介绍术
当“软件测试工程师”遇上“相亲局”,如何用三句话破除“点按钮的”“找bug的”刻板印象?本文从专业视角拆解表达策略,助你展现职业价值与人格魅力。一、困境篇:软件测试相亲的三大认知陷阱1. 致命三连问的杀伤力场景还原…...
GLM-OCR环境配置保姆级教程:Windows系统下快速安装与问题排查
GLM-OCR环境配置保姆级教程:Windows系统下快速安装与问题排查 如果你在Windows电脑上尝试部署GLM-OCR时,被各种环境报错、路径问题或者神秘的“403 forbidden”搞得头大,那这篇文章就是为你准备的。我遇到过太多在Windows上卡住的朋友&#…...
Python的__complex__方法支持复数的实部虚部访问与运算重载
Python作为一门功能强大的编程语言,其面向对象特性允许开发者通过特殊方法自定义类的行为。其中,__complex__方法为复数运算提供了灵活的支持,使得开发者能够轻松实现复数的实部虚部访问与运算重载。复数在科学计算、信号处理等领域有着广泛应…...
Phi-4-mini-reasoning Chainlit多语言支持:中英文混合推理界面实现
Phi-4-mini-reasoning Chainlit多语言支持:中英文混合推理界面实现 1. 模型简介 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族的一员,它特别针对数学推理能力进…...
从异方差到同方差:方差稳定变换(VST)在生物信息学中的核心应用与实战解析
1. 为什么RNA-seq数据需要方差稳定变换? 第一次接触RNA-seq数据分析时,我盯着那些基因表达矩阵直发愁。明明测序深度相同,为什么高表达基因的波动幅度比低表达基因大那么多?这就是典型的异方差问题——方差与均值存在依赖关系。在…...
PowerShell色彩魔法:利用ANSI转义序列打造个性化终端输出
1. 从黑白到彩色:PowerShell终端的美化革命 记得刚接触编程那会儿,最让我头疼的就是PowerShell那个黑漆漆的窗口。每次调试脚本,满屏的白色文字看得眼睛发酸,关键信息总是淹没在茫茫输出中。直到有一天,我在Linux终端看…...
Edge-SR实战:如何用边缘信息提升图像超分辨率重构效果(附代码)
Edge-SR实战:如何用边缘信息提升图像超分辨率重构效果(附代码) 在数字图像处理领域,超分辨率重构技术一直是研究热点。传统方法往往面临高频细节丢失、边缘模糊等问题,而Edge-SR通过巧妙利用边缘信息,为这一…...
馈线自动化(FA)如何重塑现代配电网?核心价值与技术路径解析
1. 馈线自动化:配电网的"智能医生" 想象一下凌晨三点你家突然停电的场景。传统配电网下,抢修人员需要逐段排查故障点,可能几小时后才能恢复供电。而配备了馈线自动化(FA)的智能配电网,能在90秒内…...
HCIA综合实验报告
一、实验要求1.所有PC均需要通过DHCP获取IP地址-地址池名称和设备VLAN一致,例如PC1-ip pool vlan10,其中只有业务B网络用户需要访问互联网web服务-需要DNS信息。2.交换机配置VLAN需要遵循最小VLAN透传原则3.利用OSPF协议使内外用户互相访问-全网可达(设备…...
