假设你有一个特殊的键盘包含下面的按键:
A:在屏幕上打印一个 'A'。
Ctrl-A:选中整个屏幕。
Ctrl-C:复制选中区域到缓冲区。
Ctrl-V:将缓冲区内容输出到上次输入的结束位置,并显示在屏幕上。
现在,你可以 最多 按键 n 次(使用上述四种按键),返回屏幕上最多可以显示 'A' 的个数 。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/4-keys-keyboard
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public int maxA(int N) {
int[] dp = new int[N + 1];
dp[0] = 0;
for (int i = 1; i <= N; i++) {
dp[i] = dp[i - 1] + 1;
for (int j = 2; j < i; j++) {
dp[i] = Math.max(dp[i], dp[j - 2] * (i - j + 1));
}
}
return dp[N];
}
}
标签:Ctrl,int,651,键盘,按键,屏幕,dp
From: https://www.cnblogs.com/tianyiya/p/17238461.html