zoukankan      html  css  js  c++  java
  • LC 650. 2 Keys Keyboard

    Initially on a notepad only one character 'A' is present. You can perform two operations on this notepad for each step:

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

    Given a number n. You have to get exactly n 'A' on the notepad by performing the minimum number of steps permitted. Output the minimum number of steps to get n 'A'.

    Example 1:

    Input: 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'.
    

    Note:

    1. The n will be in the range [1, 1000].

    Runtime: 4 ms, faster than 73.56% of C++ online submissions for 2 Keys Keyboard.

    只能进行copy和past,其实是质数问题。能通过copy和paste达到的一定是合数。

    class Solution {
    public:
      int minSteps(int n) {
        if(n == 1) return 0;
        for(int i=2; i<n; i++){
          if(n % i == 0) return minSteps(n/i) + i;
        }
        return n;
      }
    };
  • 相关阅读:
    第 4 章 MySQL 安全管理
    第 3 章 MySQL 存储引擎简介
    第 2 章 MySQL 架构组成
    道教的【五行】学说
    【matlab】MTATLAB解线性方程组
    RPolar项目进度记录
    numpy和TensorFlow的函数
    卷积
    腾讯QQ空间超分辨率技术TSR
    混元桩
  • 原文地址:https://www.cnblogs.com/ethanhong/p/10195888.html
Copyright © 2011-2022 走看看