当前位置: 首页 > news >正文

O(1)转移线性dpLeetCode 2369. 检查数组是否存在有效划分

一、题目

1、题目描述

给你一个下标从 0 开始的整数数组 nums ,你必须将数组划分为一个或多个 连续 子数组。

如果获得的这些子数组中每个都能满足下述条件 之一 ,则可以称其为数组的一种 有效 划分:

  1. 子数组  由 2 个相等元素组成,例如,子数组 [2,2] 。
  2. 子数组  由 3 个相等元素组成,例如,子数组 [4,4,4] 。
  3. 子数组  由 3 个连续递增元素组成,并且相邻元素之间的差值为 1 。例如,子数组 [3,4,5] ,但是子数组 [1,3,5] 不符合要求。

如果数组 至少 存在一种有效划分,返回 true ,否则,返回 false 。

2、接口描述

class Solution {
public:bool validPartition(vector<int>& nums) {}
};

3、原题链接

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


二、解题报告

1、思路分析

属于入门级别的动态规划问题

定义状态f[i]为前i个元素是否存在有效划分

那么根据划分的定义,第i个元素可以和它左边的两个元素以及左边相邻的一个元素进行状态转移

三种划分定义可以有三个状态转移方程

代码还是很好写的,注意初始化以及状态转移不要越界

2、复杂度

时间复杂度: O(N)空间复杂度:O(N)

3、代码详解

class Solution {
public:
bool f[100005];bool validPartition(vector<int>& nums) {memset(f, 0, sizeof f), f[0] = 1, f[2] = nums[0] == nums[1];int n = nums.size();for(int i = 3, x; i <= n; i++){if(nums[i - 1] == nums[i - 2]) f[i] = f[i] || f[i - 2];if(nums[i - 1] == nums[i - 2] && nums[i - 2] == nums[i - 3])f[i] = f[i] || f[i - 3];if(nums[i - 1] - 1 == nums[i - 2] && nums[i - 2] - 1 == nums[i - 3])f[i] = f[i] || f[i - 3];}return f[n];}
};

http://www.lryc.cn/news/309041.html

相关文章:

  • 【力扣hot100】刷题笔记Day17
  • leetcode日记(34)通配符匹配
  • 一张图读懂人工智能
  • 5.37 BCC工具之uflow.py解读
  • R语言简介,R语言开发环境搭建步骤,R基础语法以及注释详解
  • 【Django】执行查询—检索对象
  • Python:练习:编写一个程序,写入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款
  • 模板方法模式 详解 设计模式
  • Node.js_基础知识(http模块)
  • matlab工具包
  • UCSF DOCK 分子对接详细案例(01)- rigid, fixed anchor, flexible dock
  • java基础(4)注解,集合,
  • 基于springboot+vue的大学城水电管理系统(前后端分离)
  • 代码随想录算法训练营第四十六天| 139.单词拆分、卡码网第56题
  • Redis 在 Linux 系统下安装部署的两种方式详细说明
  • 【茶话数据结构】查找最短路径——Dijkstra算法详解(保姆式详细图解,步步紧逼,保你学会)
  • Webserver解决segmentation fault(core dump)段错问问题
  • 存储过程基本了解
  • 『大模型笔记』RAG应用的12种调优策略指南
  • leedcode刷题--day7(字符串)
  • 【蓝桥杯省赛真题31】python连续正整数之和 中小学青少年组蓝桥杯比赛python编程省赛真题解析
  • 【116个】网络安全测试相关面试真题
  • 微服务day02-Ribbon负载均衡与Nacos安装与入门
  • 深度学习-神经网络原理
  • Chat GPT:智能对话的下一步
  • [数据集][目标检测]鸡蛋破蛋数据集VOC+YOLO格式792张2类别
  • RabbitMQ实战学习
  • 插混、油混、增程式、轻混、强混,啥区别
  • React 模态框的设计(八)优化补充
  • 知识积累(三):深度学习相关概念(查看检索时看到)