dp3003打印机怎么清零_最小宽度dp

dp3003打印机怎么清零_最小宽度dp有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例 1:输入:s = “aaabbb”输出:2解释:首先打印 “aaa” 然后打印 “bbb”。示例 2:输入:s = “aba”输出:2解释:首先打印 “aaa” 然后在第二个位置打印 “b” 覆盖掉原来的字符 ‘a’。 提示:1 <= s.le

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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

示例 1:

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

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

提示:

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

const int N = 1e3 + 10;
const int INF = 0x3f3f3f3f;
int f[N][N] = { 
   0};
class Solution { 
   
public:
    int strangePrinter(string s) { 
   
        int n = s.size();
        memset(f,0x3f,sizeof f);
        for(int len = 1;len <= n;len ++){ 
   
            for(int l = 0;l <= n - len;l ++){ 
   
                int r = l + len - 1;
                if(l == r)f[l][r] = 1;
                else{ 
   
                    if(s[l] == s[r])f[l][r] = f[l][r - 1];
                    else{ 
   
                        for(int k = l;k < r;k ++){ 
   
                            f[l][r] = min(f[l][r],f[l][k] + f[k + 1][r]);
                        }
                    }
                }
            }
        }
        return f[0][n - 1];
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168552.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 下午4:16
下一篇 2022年8月9日 下午4:16


相关推荐

  • 简单聊聊C/C++中的左值和右值

    简单聊聊C/C++中的左值和右值为什么标题要写成简单聊聊 而不是写成什么 C 中左值与右值详解 或者现在很流行的 惊了 看了这一篇左值与右值讲解 他吊打了面试官 其实带有详解这个词是需要勇气的 最起码要融会贯通之后才敢这么说吧 本来是学习右值引用的 结果涉及到了左值和右值 然后去了解他们历史发现也是有些混乱 操作中又经常涉及到运算符优先级 真是越学越乱了

    2026年3月19日
    2
  • C#操作XML的完整例子——XmlDocument篇「建议收藏」

    C#操作XML的完整例子——XmlDocument篇「建议收藏」这是一个用c#控制台程序下, 用XmlDocument进行XML操作的的例子,包含了查询、增加、修改、删除、保存的基本操作。较完整的描述了一个XML的整个操作流程。适合刚入门.netXML操作的朋友参考和学习。假设有XML文件:books.xmlxml version=”1.0″ encoding=”UTF-8″?>books> book>  name>哈里波特name>  pr

    2022年6月19日
    37
  • OpenCV人脸识别的原理 完整版代码

    OpenCV人脸识别的原理 完整版代码http://blog.csdn.net/yanming901012/article/details/8606183本程序首先利用从摄像头检测到的人脸图片,先进行直方图均衡化 并缩放到92*112的图片大小,然后根据train.txt的采集到的人脸模版 进行匹配识别(最好是在统一光照下,采集不同角度的人脸图片各一张) 注意:影响的极大因素在于光照,模版若与采集的图像光照不一样,识别率很低。…

    2022年5月2日
    51
  • 移动端分享插件使用总结

    移动端分享插件使用总结

    2021年10月28日
    59
  • 当销售遇上AI:我们在OpenClaw上做了一个会”思考”的销售助手

    当销售遇上AI:我们在OpenClaw上做了一个会”思考”的销售助手

    2026年3月16日
    2
  • html遍历数组,JS数组遍历的几种方式

    html遍历数组,JS数组遍历的几种方式JS 数组遍历 基本就是 for forin foreach forof map 等等一些方法 以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比第一种 普通 for 循环代码如下 for j 0 j

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号