2369. 检查数组是否存在有效划分(动态规划)

2024-3-1

文章目录

    • [2369. 检查数组是否存在有效划分](https://leetcode.cn/problems/check-if-there-is-a-valid-partition-for-the-array/)
          • 思路:
          • 代码:

2369. 检查数组是否存在有效划分

在这里插入图片描述

思路:

1.状态定义:f[i]代表考虑将[0,i]是否能被有效划分,有则为true,没有则为false

2.状态转移:f[i]的转移有3种可能:
1 由f[i-2]转移过来,且nums[i-1] == nums[i]
2 由f[i-3]转移过来,且nums[i-2] == nums[i-1] == nums[i]
3 由f[i-3]转移过来,且nums[i-1] == nums[i-2]+1;nums[i]==nums[i-1]+1

3.初始化:f[0]=false,f[1]=nums[0]== nums[1],f[2]=nums[0] == nums[1]==nums[2]||递增

4.遍历顺序:正序遍历[3,n-1]

5.返回形式:返回f[n-1]

代码:
   public boolean validPartition(int[] nums) {int n = nums.length;boolean[] f = new boolean[n];f[0] = false;f[1] = nums[0] == nums[1];if (n == 2) return f[1];f[2] = (nums[0] == nums[1] && nums[1] == nums[2]) || (nums[1] == nums[0] + 1 && nums[2] == nums[1] + 1);for (int i = 3; i < n; i++) {boolean b1 = f[i - 2] && nums[i - 1] == nums[i];boolean b2 = f[i - 3] && nums[i - 2] == nums[i - 1] && nums[i - 1] == nums[i];boolean b3 = f[i - 3] && nums[i - 1] == nums[i - 2] + 1 && nums[i] == nums[i - 1] + 1 ;f[i] = b1 || b2 || b3;}return f[n - 1];}

点击移步博客主页,欢迎光临~

偷cyk的图

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 自定义映射规则resultMap association一对一

介绍 例&#xff1a;学生表&#xff0c;班级表&#xff0c;希望在查询学生的时候一起返回该学生的班级&#xff0c;而一个实体类封装的是一个表&#xff0c;如需要多表查询就需要自定义映射。 表结构 班级表 学生表 SQL语句 SELECT a.id,a.name,a.classes,b.id classes…

Java进阶-反射

来学习一下Java的反射&#xff0c;通过Class实例获取class信息的方法称为反射&#xff08;Reflection&#xff09;&#xff0c;内容如下 一、反射机制 1、概述 在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一…

RK3568驱动指南|第二篇 字符设备基础-第7章 menuconfig图形化配置实验(二)

7.2 Kconfig 语法简介 上一小节我们打开的图形化配置界面是如何生成的呢&#xff1f;图形化配置界面中的每一个界面都会对应一个Kconfig文件。所以图形化配置界面的每一级菜单是由Kconfig文件来决定的。 图形化配置界面有很多菜单。所以就会有很多Kconfig文件&#xff0c;这也就…

揭秘Android Tombstone:崩溃位置的秘密研究-Crash Location

由于一些工作原因&#xff0c;最近对Android系统发生crash的Tombstone展开了一定的研究。 这里我谈一下关于对于Android Libstagefright 整数溢出漏洞的crash Tombstone的研究。看一下在包含整数溢出功能的MP4文件从PC传输进Android的时候造成的Tombstone0_0。 1、研究头部信…

武汉灰京文化:游戏产业链中不可或缺的重要环节

随着游戏市场持续蓬勃发展&#xff0c;武汉灰京文化凭借其深耕游戏市场、发展优势平台以及与各大游戏大厂的深度合作&#xff0c;在游戏的开发、推广和运营过程中展现出独特的专业能力和资源优势。公司不仅能够为游戏大厂提供专业的运营支持&#xff0c;还能与其紧密合作&#…

边缘计算与任务卸载基础知识

目录 边缘计算简介任务卸载简介参考文献 边缘计算简介 边缘计算是指利用靠近数据生成的网络边缘侧的设备&#xff08;如移动设备、基站、边缘服务器、边缘云等&#xff09;的计算能力和存储能力&#xff0c;使得数据和任务能够就近得到处理和执行。 一个典型的边缘计算系统为…

大数据信用报告如何查询?有哪些需要注意的?

大数据信用对于有资金周转的人来说是比较重要的&#xff0c;主要由于大数据信用无形的被不少机构用于贷前风控&#xff0c;无论是机构要求的还是自查&#xff0c;提前了解大数据信用情况是常规操作&#xff0c;那大数据信用报告如何查询?有哪些需要注意的呢?本文详细为大家讲…

怎么理解发包服务器?(作用)

随着云计算的快速发展&#xff0c;越来越多的企业开始采用云计算服务来降低IT成本和提高业务灵活性。在云计算领域中&#xff0c;发包服务器是一种常见的服务模式&#xff0c;但很多人对其理解并不深入。本文将对发包服务器进行深入解析&#xff0c;探讨其作用和价值。 发包服务…

Personality Enhanced Emotion Generation Modeling for Dialogue Systems

对话系统的人格增强情绪生成建模 摘要1 介绍2 相关工作2.1 个性、情感和情绪2.2 个性的理论模型2.3 在对话系统中整合个性情感建模 3 方法3.1 任务定义3.2 个性增强型情感生成模型3.3 情感状态推理单元3.3.1 情绪遗忘机制3.3.2 情感调节机制 3.4 训练 4 实验4.1 数据集 PELD 摘…

基于springboot实现的健康监控管理系统

一、系统架构 前端&#xff1a;html | bootstrap | jquery | css 后端&#xff1a;springboot | thymeleaf | mybatis 环境&#xff1a;jdk1.8 | mysql | maven 二、代码及数据库 三、功能介绍 01. 体检测评 02. 运动处方 03. 运动处方明细 04. 运动处方-打卡…

利用DrissionPage库写一个简单的哔哩哔哩自动评论引流脚本

以前利用selenium写过哔哩哔哩简单的脚本&#xff0c;后来数据丢失&#xff0c;痛苦万分&#xff0c;今天看到这个库了解一下便写了这个脚本。 切记做好数据备份 文章目录 DrissionPage简介&#xff1a;代码部分 DrissionPage和selenium很像&#xff0c;但是更简单&#xff0c;…

女性三八节礼物攻略:她无法抗拒的五大礼物

随着春风的温柔拂面&#xff0c;我们即将迎来一年一度的三八国际妇女节。这个特别的日子&#xff0c;不仅是对女性贡献的认可和庆祝&#xff0c;也是向我们生命中的女性表达感激和爱意的绝佳时机。在这个充满温馨和敬意的时刻&#xff0c;我们常常在思考&#xff0c;如何用一份…