651. 4 Keys Keyboard

2024-05-07 07:48
文章标签 keys keyboard 651

本文主要是介绍651. 4 Keys Keyboard,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Imagine you have a special keyboard with the following keys:

Key 1: (A): Prints one ‘A’ on screen.

Key 2: (Ctrl-A): Select the whole screen.

Key 3: (Ctrl-C): Copy selection to buffer.

Key 4: (Ctrl-V): Print buffer on screen appending it after what has already been printed.

Now, you can only press the keyboard for N times (with the above four keys), find out the maximum numbers of ‘A’ you can print on screen.

Example 1:

Input: N = 3
Output: 3
Explanation: 
We can at most get 3 A's on screen by pressing following key sequence:
A, A, A

Example 2:

Input: N = 7
Output: 9
Explanation: 
We can at most get 9 A's on screen by pressing following key sequence:
A, A, A, Ctrl A, Ctrl C, Ctrl V, Ctrl V

Note:
1. 1 <= N <= 50
2. Answers will be in the range of 32-bit signed integer.

int maxA(int N) {if (N <= 6)return N;vector<int> dp(N + 1, 0);for (int i = 1; i <= 6; i++)dp[i] = i;// dp[n]怎么由之前的求出来呢?  // 可以是dp[0..n-1]中的一直按A或者Ctrl_V而来的  for (int i = 7; i <= N; i++){dp[i] = dp[i - 1] + 1;for (int j = i - 3; j > 0; j--){dp[i] = max(dp[i], dp[j] * (i - j - 1));}}return dp[N];
}

这篇关于651. 4 Keys Keyboard的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/966753

相关文章

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

Redis keys 基本命令

Redis keys 命令 下表给出了与 Redis 键相关的基本命令: 序号 命令及描述 1 DEL key 该命令用于在 key 存在时删除 key。不存在的 key 会被忽略。可用于删除多个key , 各key之间用空格间隔 del key1 key2 2 DUMP key  序列化给定 key ,并返回被序列化的值。 3 exists key  检查给定 key 是否存在。

Pandas-高级处理(二):连接与修补【concat(参数:axis、join、keys)、combine_first(根据index,df1的空值被df2替代)】

一、连接(concat):沿轴执行连接操作 pd.concat([data1, data2], axis=1):按照行或列进行连接操作: axis=0为列索引;axis=1为行索引; 比如我们将刚才处理好的one-hot编码与原数据连接 1、参数:axis import pandas as pd# 连接:concats1 = pd.Series([1, 2, 3])s2 = pd.Se

pandas errors Pattern matched multiple keys

Set some Pandas options as you like old version #pd.set_option(‘max_columns’, 40) #pd.set_option(‘max_rows’, 30) new version pd.options.display.max_rows=30 pd.options.display.max_columns=40

Log,Toast,SPUtil,Density,SDCard,ScreenUtil,AppVersion,KeyBoard,NetWork,HttpUtil工具类

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自【张鸿洋的博客】 最近统一整理下工具类,以下是栏目,慢慢的就会越来越丰富 http://blog.csdn.net/u013210620/article/category/6251289 1、LogUtil package com.exampl

leetcode500 Keyboard Row Java

Description Given a List of words, return the words that can be typed using letters of alphabet on only one row’s of American keyboard like the image below. Example 1: Input: [“Hello”, “Alaska”,

【openwrt-21.02】T750 openwrt-21.02 Linux-5.4.238 input子系统----gpio-keys实现分析

input子系统           输入子系统是由设备驱动层(input driver)、输入核心层(input core)、输入事件处理层(input event handle)组成 input子系统架构图 gpio-keys         gpio-keys是基于input子系统实现的一个通用按键驱动,该驱动也符合linux驱动实现模型,即driver和device分离模型.一

hdu Broken Keyboard(模拟)

http://acm.hdu.edu.cn/showproblem.php?pid=2369 题意:给出一个字符串,求出含有n个不同字母且长度最长的长度。 比赛时脑残的以为是DP,想了很久。。愣是没发现字符串长度1million。直接模拟,设置一个st,记录从st开始的最长的长度,长度大于n时,就要从st开始删除直到含有n个不同字母为止。 #include <stdio.h>#i

Broken Keyboard SDUTOJ

题目描述 Bruce Force\'s keyboard is broken, only a few keys are still working. Bruce has figured out he can still type texts by switching the keyboard layout whenever he needs to type a letter which

在nodejs项目报错:CROSSSLOT Keys in request don't hash to the same slot解决方法

由于后台用的是redis集群,我前端刚好碰巧用的是nodejs express框架。express存储session有自己的机制。本来单独的redis主模式是很好用redis保存session的,但奈何用了集群分片模式~~。 下面是当后台使用redis分片模式时候,前端存储session连接redis的写法。主要的部分代码: var session = require(‘express-se