lc 每日一题 2024 - 03 - 01 划分型dp

链接 : 

. - 力扣(LeetCode)

思路 : 

子集划分型dp , 设置dp[i+1]表示前i个数字能否有效划分;

那么一个划分好的数组 + 两个相等的数字 , 新形成的数组也是有效划分数组;

同理,加上三个相等 或 三个递增的数字 , 新形成的数组也是有效划分数组 ;

先写出判断表达式 : 

    bool pd2(int x,int y){//判断新加的2个是否有效
        return x == y ;
    }

    bool pd3(int a,int b,int c){// 判断新加的3个是否有效
        return (a==b&&b==c) || (a+1==b &&b+1==c) ;
    }

然后写出状态转移方程式 : 

dp[i] = (i>=2 &&pd2(a[i-2],a[i-1])) || (i>=3 && pd3(a[i-3],a[i-2],a[i1])) ;

然后写方程就好了 : 

代码 : 

class Solution {
public:

    bool pd2(int x,int y){//判断新加的2个是否有效
        return x == y ;
    }

    bool pd3(int a,int b,int c){// 判断新加的3个是否有效
        return (a==b&&b==c) || (a+1==b &&b+1==c) ;
    }

    bool validPartition(vector<int>& nums) {
        int n = nums.size() ;
        vector<bool> dp(n+1 , false) ;
        dp[0] = true ;// 已经划分好了 
        // dp[i + 1] 表示nums的前i个数是不是能够有效划分
        for(int i=1;i<=n;i++){
            if(i>=2){
                dp[i] = dp[i-2] && pd2(nums[i-2],nums[i-1]);
            }
            if(i>=3){
                dp[i] = dp[i] || dp[i-3] && pd3(nums[i-3],nums[i-2],nums[i-1]) ;
            }
        }
        return dp[n] ;
    }
};

最后 : 

算法交流群 : 245742652

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/418978.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初学JavaScript总结

0 JavaScript html完成了架子&#xff0c;css做了美化&#xff0c;但是网页是死的&#xff0c;需要给他注入灵魂&#xff0c;所以接下来需要学习JavaScript&#xff0c;这门语言会让页面能够和用户进行交互。JavaScript又称为脚本语言&#xff0c;可以通过脚本实现用户和页面的…

CIES预告 | 飞凌嵌入式即将亮相第14届中国国际储能大会

第14届中国国际储能大会暨展览会将于2024年3月11日~13日在杭州举行&#xff0c;本届大会以“共建储能生态链&#xff0c;共创储能新发展”为主题&#xff0c;搭建储能行业国际化交流与合作平台&#xff0c;探索储能领域新技术、新业态、新模式&#xff0c;推进储能产业上下游供…

Kubernetes的Sevice管理

服务原理: 所有服务都是根据这个服务衍生或者变化出来,根服务---- 服务感知后端靠标签 slelector 标签选择器 kubectl label pods web1 appweb kubectl cluter-info dump | grep -i service-cluster-ip-range 服务ip取值范围 Service 管理: 创建服务: --- kind: Serv…

在Windows系统中启动Redis服务

前言 Redis是一个开源、高性能的键值对数据库&#xff0c;常用于缓存、消息队列等场景。本文将详细指导您如何在Windows系统上启动Redis服务。 第一步&#xff1a;确认Redis安装 确保您已经在Windows系统上成功安装了Redis。官方提供了预编译好的Windows版本&#xff0c;您可…

虚拟机上为AzureDevOps Server 创建用户

为DevOpsServer创建登录用户 背景虚拟机的本地用户和组去DevOps Server上添加本地用户 背景 我们有一台虚拟机&#xff0c;然后在上面安装了一台Azure DevOps Server&#xff0c;然后我们创建几个登录用户。 虚拟机的本地用户和组 首先我们登陆到虚拟机&#xff0c;然后我们…

B站画质补完计划(2):视频超分让像素细腻生动

本期作者 1 前言 为了给用户提供更清晰的画质体验&#xff0c;B站自研的超分辨率算法已经在站内广泛应用&#xff0c;支持了如《赛马娘》、《流浪地球2》、《权力的游戏》、英雄联盟S赛赛事直播等知名番剧、电影电视剧以及重要游戏赛事直播的 4K 视频流生产。 2 超分算法的应用…

Excel2LaTeX插件的使用、LaTeX表格

目录 一、下载Excel2Latex 二、使用Excel2Latex 1、将Excel2LaTeX文件添加到加载项 2、导出LaTex的表格数据 3、注意事项 1&#xff09;生成的latex表格断断续续问题 2&#xff09;改变线形的粗细 3&#xff09;表格太大&#xff0c;需要缩小到适应大小 4&#xff09;…

CCDP.01.寄主机SSH连接虚拟机的QA

V0.0 初始版本-2024.2.29 检查VM的网卡配置 如上图&#xff0c;如果enp0s3网卡没有出现形如10.0.0.??/24的ip配置&#xff0c;说明该网卡配置存在错误&#xff0c;或者没有“使能”该网卡。在RockyLinux8.X中可检查“ifcfg-enp0s&#xff1f;” vi /etc/sysconfig/network-…

软件测试人的测试思维

系统性思维 如果以系统性思维来分析和解决问题&#xff0c;就不会出现&#xff1a; 只见树木不见森林片面地追求单个目标被表象所迷惑&#xff0c;看不到本质忽视某些产品质量风险千里之堤、溃于蚁穴用线性的思维方式来理解非线性的问题 而是会整体地、多角度地、多层次地分…

数据仓库与数据挖掘概述

目录 一、数据仓库概述 &#xff08;一&#xff09;从传统数据库到数据仓库 &#xff08;二&#xff09;数据仓库的4个特征 &#xff08;三&#xff09;数据仓库系统 &#xff08;四&#xff09;数据仓库系统体系结构 &#xff08;五&#xff09;数据仓库数据的粒度与组织…

babylonjs入门-点光源

基于babylonjs封装的一些功能和插件 &#xff0c;希望有更多的小伙伴一起玩babylonjs&#xff1b; 欢迎加群&#xff08;点击群号传送&#xff09;&#xff1a;464146715 官方文档 中文文档 案例传送门 ​ 懒得打字&#xff0c;粘贴复制&#xff0c;一气呵成

第二节:开始Sashulin Message Broker旅程

一、创建第一条消息流 1、新建工程 点击File->New Project或工具栏中的New Project按钮创建新工程&#xff0c;我们的示例中命名为"csdnProject"&#xff0c;工程名后缀是epr。点击Save即可。 2、新建消息流 建立好工程后&#xff0c;在Project Explorer中建立…

Spring IOC在业务中常见的使用方式

目录 1、什么是IOC 2、java实现创建对象的方式有哪些 3、基于配置文件的di实现 3.1、什么是di 3.2、入门案例 3.3、环境搭建 接口和实现类 ioc配置文件 测试程序 3.4、案例总结 3.5、简单类型属性的赋值&#xff08;set注入&#xff09; set注入要求 JavaBean sp…

推特API(Twitter API)对接说明,用户code To Token换取

前期准备 提前准备、说明&#xff1a;目前对接推特api开发门户分为3个版本&#xff0c;分别是免费的&#xff0c;100美金一个月的基础版以及5000美金一个月的企业版&#xff0c;免费的目前就两个接口可以调用&#xff0c;所以想要对接和使用推特最基本的也需要付100美元一个月…

BAT三家市值总和近7000亿美元,足见它们“富可敌国”

当中国互联网拥抱共享经济时&#xff0c;BAT依然展现出它的雄姿。 临近年中&#xff0c;阿里巴巴和腾讯市值均突破3000亿美元&#xff0c;并持续创出历史新高。 百度也逐渐走出低迷&#xff0c;市值已升至600亿美元以上。 BAT这三个公司的总市值接近7000亿美元&#xff0c;可见…

2024阿里云数据库费用价格,2核4G配置227元一年

阿里云数据库大全&#xff1a;RDS关系型数据库如MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等&#xff0c;NoSQL数据库如Redis、Tair、Lindorm和MongoDB&#xff0c;数据仓库如AnalyticDB MySQL版、PostgreSQL、ClickHouse&#xff0c;阿里云还提供数据库管理工具如数…

【开源项目】自动字幕生成和字幕翻译

文章目录 1. 安装ffmpeg2. 克隆项目3. 配置项目运行环境4. 填写配置文件5. 运行项目&#xff08;仅使用CPU&#xff09; 项目地址&#xff1a;Github - qinL-cdy/auto_ai_subtitle 项目原理&#xff1a;使用ffmpeg提取视频的音频&#xff0c;使用whisper将音频转写为字幕&#…

WebService 配置与操作

WebService操作配置 本人idea 2020.3版本&#xff0c;会有毛病。 场景&#xff1a;内网环境 内网环境会导致测试麻烦&#xff0c;所以打个demo包给现场测试是否跑通 环境:Springboot项目 添加WebService ok会加载出来 2020.3版本会关了&#xff0c;找不到这窗口 可以以下…

白酒:酿造过程中的微生物群落结构与功能解析

在豪迈白酒的酿造过程中&#xff0c;微生物群落的结构与功能起着至关重要的作用。这些肉眼难以察觉的小生物在白酒的香气、口感和品质形成中扮演着重要角色。云仓酒庄在酿造过程中对微生物群落的结构与功能进行了深入研究与解析&#xff0c;旨在更好地了解和控制微生物群落&…

DVWA 靶场 SQL 注入报错 Illegal mix of collations for operation ‘UNION‘ 的解决方案

在 dvwa 靶场进行联合 SQL 注入时&#xff0c;遇到报错 Illegal mix of collations for operation UNION 报错如下图&#xff1a; 解决办法&#xff1a; 找到文件 MySQL.php 大致位置在 \dvwa\includes\DBMS 目录下 使用编辑器打开 检索 $create_db 第一个就是 在 {$_DVW…
最新文章