650. 2 Keys Keyboard

1. Question

There is only one character 'A' on the screen of a notepad. You can perform two operations on this notepad for each step:

  • Copy All: You can copy all the characters present on the screen (a partial copy is not allowed).
  • Paste: You can paste the characters which are copied last time.

Given an integer n, return the minimum number of operations to get the character 'A' exactly n times on the screen.

2. Examples

Example 1:

Input: n = 3
Output: 3
Explanation: Intitally, we have one character 'A'.
In step 1, we use Copy All operation.
In step 2, we use Paste operation to get 'AA'.
In step 3, we use Paste operation to get 'AAA'.

Example 2:

Input: n = 1
Output: 0

3. Constraints

  • 1 <= n <= 1000

4. References

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/2-keys-keyboard 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

5. Solutions

枚举前几种,可以发现答案是n的最小因数的和。

class Solution {
  public int minSteps(int n) {
    int res = 0;
    for (int i = 2; i * i <= n; i++) {
      while (n % i == 0) {
        n /= i;
        res += i;
      }
    }

    if (n > 1) {
      res += n;
    }
    return res;

  }
}
Copyright © rootwhois.cn 2021-2022 all right reserved,powered by GitbookFile Modify: 2022-11-26 20:03:31

results matching ""

    No results matching ""