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.pswp.cn/news/717033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717033.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電腦要用多少V的電源?電腦電源輸入電壓是市電

臺式電源的輸出電壓是多少&#xff1f; 電腦電源輸出一般有三種不同的電壓&#xff0c;分別是&#xff1a; 12V、5V、3.3V。 電腦電源負責給電腦配件供電&#xff0c;如CPU、主板、內存條、硬盤、顯卡等&#xff0c;是電腦的重要組成部分。 工作電流根據不同的硬件及其使用狀…

LeetCode15:三數之和

題目描述 給你一個整數數組 nums &#xff0c;判斷是否存在三元組 [nums[i], nums[j], nums[k]] 滿足 i ! j、i ! k 且 j ! k &#xff0c;同時還滿足 nums[i] nums[j] nums[k] 0 。請 你返回所有和為 0 且不重復的三元組。 注意&#xff1a;答案中不可以包含重復的三元組…

【48天筆試強訓】day04

計算糖果 描述 A,B,C三個人是好朋友,每個人手里都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的信息&#xff1a; A - B, B - C, A B, B C. 這四個數值.每個字母代表每個人所擁有的糖果數. 現在需要通過這四個數值計算出每個人手里有多少個糖果…

編程語言:SQL Server數據庫使用教程,SQL Server增刪改查語句

「作者主頁」&#xff1a;士別三日wyx 「作者簡介」&#xff1a;CSDN top100、阿里云博客專家、華為云享專家、網絡安全領域優質創作者 「推薦專欄」&#xff1a;對網絡安全感興趣的小伙伴可以關注專欄《網絡安全自學教程》 SQL Server是微軟提供的一種關系型數據庫&#xff0c…

Python算法100例-3.3 阿姆斯特朗數

完整源代碼項目地址&#xff0c;關注博主私信源代碼后可獲取 1.問題描述2.問題分析3.算法設計4.確定程序框架5.完整的程序6.問題拓展 1&#xff0e;問題描述 如果一個整數等于其各個數字的立方和&#xff0c;則該數稱為“阿姆斯特朗數”&#xff08;亦稱為自戀性數&#xff…

nacos開啟鑒權+springboot配置用戶名密碼

nacos默認沒有開啟鑒權&#xff0c;springboot無需用戶名密碼即可連接nacos。從2.2.2版本開始&#xff0c;默認控制臺也無需登錄直接可進行操作。 因此本文記錄一下如何開啟鑒權&#xff0c;基于nacos2.3.0版本。 編輯nacos服務端的application.properties&#xff1a; # 開…

Linux/Docker 修改系統時區

目錄 1. Linux 系統1.1 通過 timedatectl 命令操作1.2 直接修改 /etc/localtime 文件 2. Docker 容器中的 Linux 操作環境&#xff1a; CentOS / AlmaOSMySQL Docker 鏡像 1. Linux 系統 1.1 通過 timedatectl 命令操作 使用 timedatectl list-timezones 命令列出可用的時區…

uniapp 地圖行車軌跡

文章目錄 uniapp 地圖行車軌跡1、畫地圖2、切換地圖中心點3、畫路線4、軌跡移動5、標記點及自定義內容 uniapp 地圖行車軌跡 官網地圖組件&#xff1a;https://uniapp.dcloud.net.cn/component/map.html 官網地圖組件控制&#xff1a;https://uniapp.dcloud.net.cn/api/locati…

【Java數據結構 -- 二叉樹的基本操作】

二叉樹的基本操作 1.獲取樹中節點的個數1.1 計數器遞歸的思路1.2 子問題思路&#xff1a; 2. 獲取葉子個數3. 獲取第k層節點的個數4.獲取二叉樹的高度5.檢測值為value的元素是否存在 1.獲取樹中節點的個數 思路&#xff1a;整棵樹的節點個數 左子樹的節點個數&#xff0b;右子…

休息日的思考與額外題——雙指針、原地哈希day28

文章目錄 前言一、11. 盛最多水的容器二、41. 缺失的第一個正數三、42. 接雨水總結 前言 一個本碩雙非的小菜雞&#xff0c;備戰24年秋招&#xff0c;計劃二刷完卡子哥的刷題計劃&#xff0c;加油&#xff01; 二刷決定精刷了&#xff0c;于是參加了卡子哥的刷題班&#xff0c…

32單片機基礎:旋轉編碼器計次

接線圖如上圖所示。 我們初始化一下PB0和PB1兩個GPIO口外設中斷&#xff0c;當然&#xff0c;這里只初始化一個外部中斷也能完成功能的對于編碼器而言&#xff0c;下圖所示為正轉的波形。如果把一相的下降沿用作觸發中斷&#xff0c;在中斷時刻讀取另一相的電平&#xff0c;正…

【EXCEL】SUMIFS多次條件篩選數據

問題案例 有如下兩個工作表&#xff08;Sheet1和Sheet2&#xff09;&#xff1a; 在sheet1中的C2行獲得一個結果&#xff08;項目1的1月收入&#xff09;&#xff0c;是對sheet2中的A列篩選出“項目1”B列篩選出“202401”而獲得對應C列的結果。借助excel的公式如何實現。 S…

【算法科目】2024年第二屆全國大學生信息技術認證挑戰賽 題解

圖像壓縮 曾經看到過&#xff0c;這是一道洛谷原題&#xff0c;很可惜我沒做過&#xff0c;有點看不懂就沒嘗試。 原題鏈接&#xff1a;B3851 [GESP202306 四級] 圖像壓縮 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) 因數分解 直接枚舉就行了&#xff0c;從2開始找因子&a…

Spring:EnclosingClass工具類分辨

Spring&#xff1a;EnclosingClass工具類分辨 1 前言 通過Spring的工具分辨EnclosingClass類。 測試類如下&#xff1a; package com.xiaoxu.test.enclosingClass;/*** author xiaoxu* date 2024-01-18* java_demo2:com.xiaoxu.test.enclosingClass.Outter*/ public class …

微信小程序(四十六)登入界面-進階版

注釋很詳細&#xff0c;直接上代碼 上一篇 此文使用了vant組件庫&#xff0c;沒有安裝配置的可以參考此篇vant組件的安裝與配置 新增內容&#xff1a; 1.手機號與驗證碼格式驗證 2.驗證碼的網絡申請和校驗 wechat-http模塊在好幾篇以前已經講了咋安裝的&#xff0c;不記得的友…

為什么要用Python?

為什么要用Python&#xff1f; Python簡單易用&#xff1a;提供大量的簡單易用數據結構和內置庫&#xff0c;語法結構也很簡單易讀&#xff0c;不需要使用括號來進行代碼塊分組&#xff0c;也不需要預聲明變量或參數。Python開發效率高&#xff1a;簡單易用的前提下&#xff0…

vue3輸入單號和張數,自動生成連號的單號

需求&#xff1a; 輸入連號事件&#xff0c;需要在表格中輸入物流單號&#xff0c;物流號碼&#xff0c;生成的數量&#xff0c;名稱&#xff0c;點擊確定自動生成固定數量的連號物流單號 1.頁面布局 <div><el-button type"primary" size"default&quo…

最新版阿里云Linux CentOS7 ecs-user用戶安裝Mysql8詳細教程(超簡單)

經過兩天的踩坑后&#xff0c;終于成功安裝&#xff0c;并找到了最快捷的安裝方式。接下來就由我來給大家介紹不踩坑安裝大法&#xff01; 一、下載Mysql 首先前往Mysql官網下載 MySQL官方下載地址 第一步&#xff0c;選擇安裝包&#xff0c;這是最關鍵的一步&#xff0c;選錯安…

使用query請求數據出現500的報錯

我在寫項目的時候遇到了一個問題&#xff0c;就是在存商品id的時候我將它使用了JSON.stringify的格式轉換了&#xff01;&#xff01;&#xff01;于是便爆出了500這個錯誤&#xff01;&#xff01;&#xff01; 我將JSON.stringify的格式去除之后&#xff0c;它就正常顯示了&…

昇騰ACL應用開發之硬件編解碼dvpp

1.前言 在我們進行實際的應用開發時&#xff0c;都會隨著對一款產品或者AI芯片的了解加深&#xff0c;大家都會想到有什么可以加速預處理啊或者后處理的手段&#xff1f;常見的不同廠家對于應用開發的時候&#xff0c;都會提供一個硬件解碼和硬件編碼的能力&#xff0c;這也是拋…