博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode650—2 Keys Keyboard
阅读量:5090 次
发布时间:2019-06-13

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

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: 3Output: 3Explanation: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].

想法:DP方式,状态转移表达时候result[i] = min(result[i],result[j]+i/j)

class Solution {public:    int minSteps(int n) {        vector
result(n+1); result[1] = 0; for(int i = 2 ; i <= n ; i++){ result[i] = i; for(int j = 1 ; j < i/2 ; j++){ if(i % j == 0){ result[i] = min(result[i],result[j] + i / j); } } } return result[n]; }};

转载于:https://www.cnblogs.com/tingweichen/p/9982496.html

你可能感兴趣的文章
LINUX手动查看和修改MTU值的方法
查看>>
Linux buffer/cache异同
查看>>
MySQL数据库my.cnf性能参数如何调优
查看>>
特征预处理
查看>>
Setup Apache2 in Debian 9 and enable two ports for two sites
查看>>
商品的价格梯度
查看>>
图形学-剔除
查看>>
人生哲学
查看>>
JAVA调用.NET的WEBSERVICE
查看>>
Selenium+Python浏览器调用:Firefox
查看>>
nohup 详解
查看>>
树莓派实现摄像头监控(使用motion和mjpg-streamer)
查看>>
《转》推荐系统经典论文文献及业界应用
查看>>
webpack的像素转vw单位的loader插件
查看>>
javascript高级程序设计一书----关于创建和对象继承的总结
查看>>
媒体电话
查看>>
Web开发者欣喜若狂的40个UI设计工具和资源
查看>>
整数拼数 C语言版
查看>>
WPF 绘制曲线图
查看>>
/proc 目录详细说明
查看>>