有台奇怪的打印机有以下两个特殊要求:

打印机每次只能打印由 同一个字符 组成的序列。
每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。
给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。

示例 1:

输入:s = “aaabbb”
输出:2
解释:首先打印 “aaa” 然后打印 “bbb”。
示例 2:

输入:s = “aba”
输出:2
解释:首先打印 “aaa” 然后在第二个位置打印 “b” 覆盖掉原来的字符 ‘a’。

提示:

1 <= s.length <= 100
s 由小写英文字母组成

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

class Solution {public int strangePrinter(String s) {int n = s.length();int[][] dp = new int[n][n];for (int i = n - 1; i >= 0; i--) {dp[i][i] = 1;for (int j = i + 1; j < n; j++) {//如果相同,那么打印i的时候,顺便就把j给打印了if (s.charAt(i) == s.charAt(j)) {dp[i][j] = dp[i][j - 1];} else {//不同的话,那就是左边加右边,或者直接设个maxint minn = Integer.MAX_VALUE;for (int k = i; k < j; k++) {minn = Math.min(minn, dp[i][k] + dp[k + 1][j]);}dp[i][j] = minn;}}}return dp[0][n - 1];}
}

奇怪的打印机java相关推荐

  1. 644.奇怪的打印机(困难)

    题目: 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列. 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符. 给你一个字符串 s,你的任务是计算这 ...

  2. Java实现 LeetCode 664 奇怪的打印机(DFS)

    664. 奇怪的打印机 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印同一个字符序列. 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符. 给定一个只包含小写英文字母的字符 ...

  3. 【冰爪编程】LintCode 解码大全 —— 1100 奇怪的打印机

    [冰爪编程]LintCode 解码大全 -- 1100 奇怪的打印机 作者:BZIClaw 1100 奇怪的打印机 Python: class Solution:"""@ ...

  4. 【数据结构与算法】之深入解析“奇怪的打印机”的求解思路与算法示例

    一.题目要求 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由同一个字符组成的序列: 每次可以在从起始到结束的任意位置打印新字符,并且会覆盖掉原来已有的字符. 给你一个字符串 s,你的任务是 ...

  5. leetcode 664. 奇怪的打印机(dp)

    题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列. 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符. 给你一个字符串 s ,你的任务是计算这 ...

  6. LeetCode 664. 奇怪的打印机(区间DP)

    文章目录 1. 题目 2. 解题 1. 题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列. 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符. ...

  7. java 虚拟打印机_打印作业提交给打印机,使用虚拟打印机但不是真正的打印机 . Java的...

    我是java新手,在java中遇到打印服务问题 . 我正在尝试用Java创建一个桌面应用程序,它安装在系统中,调用api,返回结果并打印 . 仅当我们从api获得结果时才调用打印服务 . 所以我的问题 ...

  8. c语言奇怪的分式11,蓝桥杯-奇怪的分式-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  9. 为什么java单精度要f_为什么快速反平方根如此奇怪和慢Java?

    我试图在 java上实现 Fast Inverse Square Root,以加速向量规范化.然而,当我在Java中实现单精度版本时,我首先得到与1F /(float)Math.sqrt()相同的速度 ...

最新文章

  1. 【PL/SQL】--导出oracle单表数据--drp204
  2. 实操教程:android camera nanodet 实时物体检测的高效实现总结
  3. Nutch URL过滤配置规则
  4. 利用隐藏神经元解决异或问题的小型示例程序
  5. Vue开发跨端应用(六)添加onsenui组件库
  6. java本地读取文件的io类_Java File类与文件IO流总结
  7. python字典按键值排序_Python字典『键 值』排序
  8. 如何在程序中不用加号实现加法_程序员那些事 | JavaScript基础(六)
  9. python编程遍历_Python字典遍历操作实例小结
  10. 华为云回答2018:AI差异化初见成效,已吹响进攻号角
  11. 马健计算机博士,马健-中国科学院大学-UCAS
  12. win2008支持mysql asp.net_Win7、win2008中让IIS7支持asp的方法
  13. Amazon AWS 中国区 G2 服务器 配置运行
  14. 数据分析方法论之RFM模型详解
  15. python重装之前要卸载吗_关于fedroa下安全地卸载和重装python
  16. 红色的反色是青色引申出PS怎么反色之教程
  17. python乌龟画五角星_使用Python的turtle模块画五角星
  18. 计算机毕业设计springboot+vue基本微信小程序的校园二手商城的设计与实现
  19. 【Windows10】此应用无法在你电脑上运行,若要找到适用于你的电脑的版本,请咨询软件发布者
  20. 网络攻击——流量劫持

热门文章

  1. 第1篇:幼儿园春节联欢晚会策划书
  2. IDEA maven配置教程
  3. 简简单单----一个TMS320F28035的串口驱动程序
  4. C# 将Excel转为OFD、UOS
  5. 下蹲五分钟等于步行一小时,长寿强健的最好锻炼方法
  6. ie6,ie7,ie8,ie9 css bug兼容解决记录
  7. 梦幻西游120级剧情杀完有的剧情技能点
  8. 玩转vscode支持PlantUML绘制预览流程图
  9. 计算机出问题英语作文,电脑出现蓝屏英文要怎么处理???
  10. 玛雅预言--真还是假,近期地震火山,接连不断(续)