650. 只有两个键的键盘
难度中等357
最初记事本上只有一个字符 'A'
。你每次可以对这个记事本进行两种操作:
Copy All
(复制全部):复制这个记事本中的所有字符(不允许仅复制部分字符)。Paste
(粘贴):粘贴 上一次 复制的字符。
给你一个数字 n
,你需要使用最少的操作次数,在记事本上输出 恰好 n
个 'A'
。返回能够打印出 n
个 'A'
的最少操作次数。
示例 1:
1 | 输入:3 |
示例 2:
1 | 输入:n = 1 |
提示:
1 <= n <= 1000
分解质因数
找到一个数字x如果当前的数字n能被x整除,那么需要复制几次x
例如:n = 8, x =2, 计算过程为:
n | x | ans |
---|---|---|
4 | 2 | 2 |
2 | 2 | 4 |
1 | 2 | 6 |
1 | class Solution { |
动态规划
设 $f[i]$ 表示打印出 $i $个 $\text{A}$ 的最少操作次数。
1 | class Solution { |