动态规划(17)
来源:互联网 发布:知乎 高达seed 编辑:程序博客网 时间:2024/06/07 06:09
原题:
/** * Created by gouthamvidyapradhan on 19/08/2017. * Initially on a notepad only one character 'A' is present. You can perform two operations on this notepad for each step: * <p> * Copy All: You can copy all the characters present on the notepad (partial copy is not allowed). * 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'. * <p> * 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'. * <p> * Note: * The n will be in the range [1, 1000]. */
答案:
public class TwoKeysKeyboard { /** * Main method * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { System.out.println(new TwoKeysKeyboard().minSteps(8)); } public int minSteps(int n) { int[] DP = new int[n + 1]; for (int i = 2; i <= n; i++) { DP[i] = i; for (int j = 2; j < i; j++) { if ((i % j) == 0) { DP[i] = Math.min(DP[i], DP[j] + (i / j)); } } } return DP[n]; }}
阅读全文
0 0
- 动态规划(17)
- 【动态规划(一)】动态规划基础
- 动态规划(1)
- 动态规划(2)
- 动态规划(3)
- 动态规划(4)
- HDOJ2046(动态规划)
- 动态规划(one)
- 动态规划(读书笔记)
- Pearls(动态规划)
- skiing(动态规划)
- HDU4001(动态规划)
- 作业题 (动态规划)
- Zipper(动态规划)
- 滑雪(动态规划)
- 动态规划(1)
- 动态规划(2)
- HDU5569(动态规划)
- 测试夹具
- 大规模并行批处理作业的分布式云服务——批量计算使用教程
- ARM单片机与ARM内核
- 相似度(距离计算)汇总
- 数据库的分表
- 动态规划(17)
- 【SQL】ORACLE中左右补齐字符串,补齐位数的函数LPAD的使用方法教程,补齐ID用,RPAD,java的mybatis中实际使用
- java 文件夹合并
- 级联人脸检测--A Convolutional Neural Network Cascade for Face Detection
- C函数参数压栈问题
- 关于JavaScript的一些知识笔记
- JAVA学习笔记10——Hibernate框架第四章
- python百度api调用
- 初步定制的EditText-后续完善