LeetCode 664. 奇怪的打印机(区间DP)
文章目录
- 1. 题目
- 2. 解题
1. 题目
有台奇怪的打印机有以下两个特殊要求:
- 打印机每次只能打印由 同一个字符 组成的序列。
- 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。
给你一个字符串 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
dp[i][j]
表示打印 区间[i,j]
需要的最少次数
class Solution {public:int strangePrinter(string s) {int n = s.size();vector<vector<int>> dp(n, vector<int>(n, INT_MAX));for(int i = 0; i < n; ++i)dp[i][i] = 1; // 初始情况for(int j = 1; j < n; ++j){for(int i = j-1; i >= 0; --i){if(s[i] == s[j]) // 两端的字符一样dp[i][j] = dp[i][j-1]; // j 字符 可以 跟 i 一同打印else // 两端不一样,枚举区间的中间切分点{for(int k = i; k < j; ++k){dp[i][j] = min(dp[i][j], dp[i][k]+dp[k+1][j]);}}}}return dp[0][n-1];}
};
144 ms 9.2 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode 664. 奇怪的打印机(区间DP)相关推荐
- Java实现 LeetCode 664 奇怪的打印机(DFS)
664. 奇怪的打印机 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印同一个字符序列. 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符. 给定一个只包含小写英文字母的字符 ...
- leetcode 664. 奇怪的打印机(dp)
题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列. 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符. 给你一个字符串 s ,你的任务是计算这 ...
- 喵哈哈村的打印机游戏(区间DP)
喵哈哈村的打印机游戏 发布时间: 2017年3月21日 20:00 最后更新: 2017年3月21日 20:02 时间限制: 1000ms 内存限制: 128M 描述 喵哈哈村的月亮同学很 ...
- qscoj 喵哈哈村的打印机游戏(区间dp)
题目链接:http://www.qscoj.cn/problem/54/ 喵哈哈村的打印机游戏 发布时间: 2017年3月21日 20:00 最后更新: 2017年3月21日 20:02 时间限制: ...
- LeetCode 1745. 回文串分割 IV(区间DP)
文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s ,如果可以将它分割成三个 非空 回文子字符串,那么返回 true ,否则返回 false . 当一个字符串正着读和反着读是一模一样的, ...
- LeetCode 1278. 分割回文串 III(区间DP)
文章目录 1. 题目 2. 解题 1. 题目 给你一个由小写字母组成的字符串 s,和一个整数 k. 请你按下面的要求分割字符串: 首先,你可以将 s 中的部分字符修改为其他的小写英文字母. 接着,你需 ...
- LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)
文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符. 请你返回让 s 成为回文串的 最少操作次数 . 「回文串」是正读和反读都相同的字 ...
- LeetCode 1130. 叶值的最小代价生成树(区间DP/单调栈贪心)
文章目录 1. 题目 2. 解题 2.1 DP 2.2 单调栈贪心 1. 题目 给你一个正整数数组 arr,考虑所有满足以下条件的二叉树: 每个节点都有 0 个或是 2 个子节点. 数组 arr 中的 ...
- LeetCode 1039. 多边形三角剖分的最低得分(区间DP)
文章目录 1. 题目 2. 解题 1. 题目 给定 N,想象一个凸 N 边多边形,其顶点按顺时针顺序依次标记为 A[0], A[i], ..., A[N-1]. 假设您将多边形剖分为 N-2 个三角形 ...
最新文章
- Android外设存储设备的访问及测试
- 【Origin】晨起忆梦
- eeglab教程系列(15)-绘制独立成分ERP贡献
- mysql数据库知识点梳理_MySQL数据库知识点整理 (持续更新中)
- oDesk: 最为严谨的外包服务中介平台
- 设置cookie存活时间_Cookie的存活时间
- RHEL5 telnet服务 安装配置
- 机器学习十大常用算法
- Mac本配置adb环境,通过adb安装apk。
- 电子警察技术原理分析
- android耳机检测驱动程序,USB 音频 CTS 验证程序测试
- 团体项目搜查令更新一
- QCon全球软件开发大会(北京站)将于4月25日开幕
- AntDesignVue中Table表格嵌套子表格expandedRowRender插槽用法
- 浏览器被劫持打开变成hao123 和 vs CODE编译器无法打开浏览器问题
- 论文排版中MathType的使用(论文投稿必备)
- 前程无忧网站,职位信息一步到位函数爬取!!!真一步到位
- 同步FIFO(Verilog)
- sklearn-随机森林
- Java开源项目—知识付费(多个版本)
热门文章
- html如何设置滑轮效果,HTML中鼠标滚轮事件onmousewheel处理
- windows无法访问指定设备路径或文件_完全免费的文件数据恢复工具:Microsoft Windows File Recovery...
- 删除github上的commit历史记录
- Java笔记04-核心类库
- Flask的csrf_token的用法
- java连接数据库sql server_将SQL Server数据库连接到Java
- GetProcAddress()用法
- 字符串类型、结构体、共用体、枚举、container宏、内存来源
- ios开发网络篇—HTTP协议 - 转
- 抽象类(Abstract)和接口的不同点、共同点(Interface)。