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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JS跳转代码_js中跳转页面路径

    JS跳转代码_js中跳转页面路径一、常规的JS页面跳转代码1、在原来的窗体中直接跳转用2、在新窗体中打开页面用:3、JS页面跳转参数的注解参数解释:第2种:第3种:第4种:第5种:三、页面停留指定时间再跳转(如3秒)四、根据访客来源跳转的JS代码1、JS判断来路代码此段代码主要用于百度谷歌点击进入跳转,直接打开网站不跳转:2、JS直接跳转代码3、ASP跳转代码判断来路<%  ifinstr(Request.ServerVariables(“http_referer”),“www

    2022年8月13日
    2
  • c语言注释快捷键_c语言多行注释快捷键

    c语言注释快捷键_c语言多行注释快捷键//注释多行快捷键Ctrl+kctrl+l//解注释多行快捷键Ctrl+kctrl+u

    2022年8月15日
    3
  • 《javascript高级编程》读书笔记(两)javascript基本概念

    《javascript高级编程》读书笔记(两)javascript基本概念

    2022年1月11日
    35
  • 树莓派能做什么_使用树莓派做两轮自平衡车(一)

    树莓派能做什么_使用树莓派做两轮自平衡车(一)为什么要用树莓派做平衡车呢?原因主要有下面几点:第一,我不忍心再让它吃灰了;第二,我想学习linux的应用开发;第三,我想学习linux的驱动开发;第四,树莓派可玩性和可扩展性高;第五,切实体会下嵌入式linux开发与裸机开发的区别,对比一下它们的优缺点;第六,看看自己到底能不能做出个东西来。基于以上原因,我拿出了尘封已久的树莓派开干了。材料清单:树莓派(3,4,zero应该都行)…

    2022年5月1日
    46
  • 使用DataV制作实时销售数据可视化大屏

    使用DataV制作实时销售数据可视化大屏

    2022年4月2日
    344
  • python df.iloc_python中loc

    python df.iloc_python中locstackoverflow原文:pandasilocvsixvslocexplanation;howaretheydifferent?在pandas0.20.0及以上版本,ix已经被loc和iloc取代了,因此不讨论它。前提,简单介绍一下它俩:–loc利用index的名称,来获取想要的行(或列)。–iloc利用index的具体位置(所以它只能是整数型参数),…

    2022年10月9日
    0

发表回复

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

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