博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
651. 4 Keys Keyboard
阅读量:4259 次
发布时间:2019-05-26

本文共 1136 字,大约阅读时间需要 3 分钟。

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 = 3Output: 3Explanation: We can at most get 3 A's on screen by pressing following key sequence:A, A, A

Example 2:

Input: N = 7Output: 9Explanation: 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
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];}

转载地址:http://xxxei.baihongyu.com/

你可能感兴趣的文章
大数据时代的到来
查看>>
大数据时代下的NoSql
查看>>
NoSql之相逢Redis
查看>>
NoSql之深入浅出redis
查看>>
从零开始学Hadoop----初识
查看>>
从零开始学Hadoop----浅析HDFS(一)
查看>>
从零开始学Hadoop----浅析HDFS(二)
查看>>
从零开始学Hadoop----浅析HDFS(三)
查看>>
从零开始学Hadoop——浅析MapReduce(一)
查看>>
从零开始学Hadoop——浅析MapReduce(二)
查看>>
NoSql之初识HBase
查看>>
用索引来实现幂等
查看>>
大数据的仓库Hive学习(一)
查看>>
大数据的仓库Hive原理(二)
查看>>
大数据的仓库Hive原理(三)
查看>>
MyBatis的优化注意点
查看>>
String.format参加字符串拼接大比拼
查看>>
如何使用才能让缓存更高效
查看>>
MySQL提升效率之limit
查看>>
死锁剖析
查看>>