leetcode_650_只有两个键的键盘

最初在一个记事本上只有一个字符 'A'。你每次可以对这个记事本进行两种操作:

Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。

Paste (粘贴) : 你可以粘贴你上一次复制的字符。

给定一个数字n。你需要使用最少的操作次数,在记事本中打印出恰好n个 'A'。输出能够打印出n个 'A' 的最少操作次数。

示例 1:

输入:3     

输出:3    

 解释:最初, 我们只有一个字符 'A'。

第 1 步, 我们使用Copy All操作。

第 2 步, 我们使用Paste 操作来获得 'AA'。

第 3 步, 我们使用Paste操作来获得 'AAA'。

说明:

n的取值范围是 [1, 1000] 。

我的思路:由于复制会增加黏贴字符的长度,所以应该尽可能的复制以提升黏贴的长度,进而减少操作;所以当拿到一个数时,我们先判断这个数是否是质数,如果是质数,则其只能由一个字符一个字符的黏贴得到,操作步数就是该数本身;如果不是质数,说明其可以通过其他数复制黏贴(仅仅两步得到);如8可由4复制黏贴得到;9可由3复制黏贴两次得到;如此知道处理N为一个质数时即可;

代码实现:

                                                                 咯咯咯

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这个不错分享给大家,从扣上看到的,就转过来了 《电脑专业英语》 file [fail] n. 文件;v. 保存文...
    麦子先生R阅读 11,839评论 5 24
  • 1. file n. 文件;v. 保存文件2. command n. 命令指令3. use v. 使用用途4. p...
    喵呜Yuri阅读 4,110评论 0 4
  • 纸上得来终觉浅,绝知此事要躬行!复制在开头原地址:http://www.cnblogs.com/zhidao-ch...
    司马捷阅读 3,757评论 0 2
  • 希望慢慢把事儿都写下来。 00 -少年,我们暑假出去户外吧-走啊,老司机带路 就这样我和黄狗决定了大一的暑假出发去...
    zydsb阅读 2,507评论 0 0
  • 由开始的觉得兴奋好奇幼稚的小同学经过教官严厉不惜疲劳的军训,各种模拟课程的学习,校园衣食自理的熏陶,过了一个不同以...
    远走的慧儿阅读 1,365评论 0 0