代碼隨想錄第45天|動態規劃

300.最長遞增子序列
在這里插入圖片描述
在這里插入圖片描述
參考

  1. dp[i] 表示以 i 為結尾的最長遞增子序列長度
  2. 遞推公式: 使用 i 和 j 判斷
    • dp[i] = max(dp[j] + 1, dp[i])
    • 每次 j 都需要從頭遍歷
  3. 初始化: dp[i] = 1

請添加圖片描述

class Solution {
public:int lengthOfLIS(vector<int>& nums) {vector<int> dp(nums.size(), 1);for (int i = 1; i < nums.size(); i++) {for (int j = 0; j < i; j++) {if (nums[j] < nums[i]) {dp[i] = max(dp[j] + 1, dp[i]);}}}int res = 0;for (int i = 0; i < nums.size(); i++) {res = max(res, dp[i]);}return res;}
};

674. 最長連續遞增序列
在這里插入圖片描述
在這里插入圖片描述
請添加圖片描述
區別在于是否連續, 無需重新開始遍歷

class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {vector<int> dp(nums.size(), 1);for (int i = 1; i < nums.size(); i++) {if (nums[i - 1] < nums[i]) {dp[i] = dp[i - 1] + 1;}}int res = 0;for (int i = 0; i < dp.size(); i++) {res = max(res, dp[i]);}return res;}
};

718. 最長重復子數組
在這里插入圖片描述
在這里插入圖片描述
參考

dp[i][j] :以下標i - 1為結尾的A,和以下標j - 1為結尾的B,最長重復子數組長度為dp[i][j]
請添加圖片描述

class Solution {
public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>>dp(nums1.size() + 1, vector<int>(nums2.size() + 1, 0));int res = -1;for (int i = 1; i <= nums1.size(); i++) {for (int j = 1; j <= nums2.size(); j++) {if (nums1[i - 1] == nums2[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1;res = max(res, dp[i][j]);}}return res;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42563.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42563.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42563.shtml

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

相關文章

基于STM32設計的管道有害氣體檢測裝置(ESP8266局域網)176

基于STM32設計的管道有害氣體檢測裝置(176) 文章目錄 一、前言1.1 項目介紹【1】項目功能介紹【2】項目硬件模塊組成【3】ESP8266模塊配置【4】上位機開發思路【5】項目模塊劃分【6】LCD顯示屏界面布局【7】上位機界面布局1.2 項目功能需求1.3 項目開發背景1.4 開發工具的選擇1…

國產化新標桿:TiDB 助力廣發銀行新一代總賬系統投產上線

隨著全球金融市場的快速發展和數字化轉型的深入推進&#xff0c;金融科技已成為推動銀行業創新的核心力量。特別是在當前復雜多變的經濟環境下&#xff0c;銀行業務的高效運作和風險管理能力顯得尤為重要。總賬系統作為銀行會計信息系統的核心&#xff0c;承載著記錄、處理和匯…

2024年06月CCF-GESP編程能力等級認證Python編程二級真題解析

本文收錄于專欄《Python等級認證CCF-GESP真題解析》&#xff0c;專欄總目錄&#xff1a;點這里&#xff0c;訂閱后可閱讀專欄內所有文章。 一、單選題&#xff08;每題 2 分&#xff0c;共 30 分&#xff09; 第 1 題 小楊父母帶他到某培訓機構給他報名參加CCF組織的GESP認證…

云動態摘要 2024-07-07

給您帶來云廠商的最新動態,最新產品資訊和最新優惠更新。 最新優惠與活動 數據庫上云優選 阿里云 2024-07-04 RDS、PolarDB、Redis、MongoDB 全系產品新用戶低至首年6折起! [免費體驗]智能助手ChatBI上線 騰訊云 2024-07-02 基于混元大模型打造,可通過對話方式生成可視化…

說一說null 和 undefined 的區別,如何讓一個屬性變為null

共同點 null和undefined是JavaScript中的兩個基本數據類型 不同點 undefined&#xff1a;這個值表示變量已聲明但還沒被賦值。 null&#xff1a;這個值表示空值或無值&#xff0c;通常用于手動置一個變量為空 要將一個屬性設置為null&#xff0c;你可以直接給屬性賦值 let…

18_特征金字塔網絡FPN結構詳解

1.1 簡介 在深度學習領域&#xff0c;尤其是計算機視覺和目標檢測任務中&#xff0c;Feature Pyramid Networks (FPN) 是一種革命性的架構設計&#xff0c;它解決了多尺度特征檢測和融合的關鍵問題。FPN最初由何凱明等人在2017年的論文《Feature Pyramid Networks for Object …

保護您的數據:應對MKP勒索病毒的有效策略

導言&#xff1a; 在當今數字化時代&#xff0c;.mkp勒索病毒等惡意軟件已經成為廣泛存在的安全威脅&#xff0c;對個人用戶和企業的數據安全構成了嚴峻挑戰。本文將探討.mkp勒索病毒的特點、傳播方式以及創新的應對策略&#xff0c;旨在幫助讀者更有效地應對這一威脅。如不幸…

Python面試題:請解釋什么是模塊和包,并描述它們的區別

在 Python 中&#xff0c;模塊&#xff08;module&#xff09;和包&#xff08;package&#xff09;是組織和管理代碼的兩種方式。它們幫助開發者創建結構化、可維護和可復用的代碼。 模塊&#xff08;Module&#xff09; 模塊是包含 Python 代碼的文件&#xff0c;擴展名為 …

ansible常見問題配置好了密碼還是報錯

| FAILED! > { “msg”: “Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host’s fingerprint to your known_hosts file to manage this host.” } 怎么解決&#xf…

Stable Diffusion圖像的臉部細節控制——采樣器全解析

文章目錄 藝術地掌控人物形象好易智算原因分析為什么在使用Stable Diffusion生成全身圖像時&#xff0c;臉部細節往往不夠精細&#xff1f; 解決策略 局部重繪采樣器總結 藝術地掌控人物形象 在運用Stable Diffusion這一功能強大的AI繪圖工具時&#xff0c;我們往往會發現自己…

ESP32 步進電機精準控制:打造高精度 DIY 寫字機器人,實現流暢書寫體驗

摘要: 想讓你的 ESP32 不再僅僅是控制燈光的工具嗎&#xff1f; 本文將帶你使用 ESP32 開發板、步進電機和簡單的機械結構打造一個能夠自動寫字的機器人。我們將深入淺出地講解硬件連接、軟件代碼以及控制邏輯&#xff0c;并提供完整的項目代碼和電路圖&#xff0c;即使是 Ardu…

在mac下 Vue2和Vue3并存 全局Vue2環境創建Vue3新項目(Vue cli2和Vue cli4)

全局安裝vue2 npm install vue-cli -g自行在任意位置創建一個文件夾vue3&#xff0c;局部安裝vue3,注意不要帶-g npm install vue/cli安裝完成后&#xff0c;進入目錄&#xff0c;修改vue為vue3 找到vue3/node-moudles/.bin/vue&#xff0c;把vue改成vue3。 對環境變量進行配置…

linux修改內核實現禁止被ping(隨手記)

概述 Linux默認允許被ping。其主要決定因素為&#xff1a; 內核參數防火墻&#xff08;iptables/firewall&#xff09; 以上的決定因素是與的關系&#xff0c;即需要均滿足。 因此&#xff0c;修改linux禁被ping有以上兩種方法可以實現。 修改內核文件使禁ping 1. 臨時生…

Windows環境安裝Redis和Redis Desktop Manager圖文詳解教程

版權聲明 本文原創作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Redis概述 Redis是一個開源的高性能鍵值對數據庫&#xff0c;以其卓越的讀寫速度而著稱&#xff0c;廣泛用于數據庫、緩存和消息代理。它主要將數據存儲在內存中&#xff0…

C++初學者指南-5.標準庫(第一部分)--迭代器

C初學者指南-5.標準庫(第一部分)–迭代器 Iterators 文章目錄 C初學者指南-5.標準庫(第一部分)--迭代器 Iterators1.默認正向迭代器2.反向迭代器3.基于迭代器的循環4.示例&#xff1a;交換相鄰的一對元素5.迭代器范圍6.迭代器范圍中的元素數量7. 總結&#xff1a;迭代器 指向某…

護網在即,知攻善防助力每一位安服仔~

前言 是不是已經有師傅進場了呢~ 是不是有安服&#x1f412;在值守呢~ 您是不是被網上眼花繚亂的常用應急響應工具而煩惱呢&#xff1f; 何以解憂&#xff1f;唯有知攻善防&#xff01; 創作起源&#xff1a; 駐場、護網等&#xff0c;有的客戶現場只允許用客戶機器&…

Python網絡爬蟲:Scrapy框架的全面解析

Python網絡爬蟲&#xff1a;Scrapy框架的全面解析 一、引言 在當今互聯網的時代&#xff0c;數據是最重要的資源之一。為了獲取這些數據&#xff0c;我們經常需要編寫網絡爬蟲來從各種網站上抓取信息。Python作為一種強大的編程語言&#xff0c;擁有許多用于網絡爬蟲的工具和庫…

puppeteer 爬蟲初探

1. puppeteer 和 puppeteer-core 安裝 puppeteer 會默認下載一個最新版本的 chrome 瀏覽器&#xff1b; 安裝 puppeteer-core &#xff0c;不會安裝 chrome, 若要程序打開瀏覽器運行時&#xff0c;需手動指定電腦系統安裝的 chrome 瀏覽器路徑&#xff1b; 2. puppeteer-core …

按鍵控制LED流水燈模式定時器時鐘

目錄 1.定時器 2. STC89C52定時器資源 3.定時器框圖 4. 定時器工作模式 5.中斷系統 1&#xff09;介紹 2&#xff09;流程圖&#xff1a;?編輯 3&#xff09;STC89C52中斷資源 4&#xff09;定時器和中斷系統 5&#xff09;定時器的相關寄存器 6.按鍵控制LED流水燈模…

一個最簡單的comsol斜坡穩定性分析例子——詳細步驟

一個最簡單的comsol斜坡穩定性分析例子——詳細步驟 標準模型例子—詳細步驟 線彈性模型下的地應力平衡預應力與預應變、土壤塑性和安全系數求解的輔助掃描