代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組]

代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組]


**一、300.最長遞增子序列 **

鏈接: 代碼隨想錄.
思路:dp[i] 以nums[i]為結尾的遞增子序列最大長度,下標為i的數,需要和下標為0開始一直到下標為i-1的數去做比較
做題狀態:看解析后做出來了

class Solution {
public:int lengthOfLIS(vector<int>& nums) {//dp[i] 以nums[i]為結尾的遞增子序列最大長度vector<int> dp(nums.size(),1);int result = 1;for(int i = 0;i<nums.size();i++){for(int j = 0;j<i;j++){if(nums[i]>nums[j]){dp[i] = max(dp[i],dp[j]+1);}}cout << dp[i] <<' ';result = max(dp[i],result);}return result;}
};

二、674. 最長連續遞增序列

鏈接: 代碼隨想錄.
思路:只需要和自己的前一個數做比較就好了
做題狀態:看解析后做出來了

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

三、718. 最長重復子數組

鏈接: 代碼隨想錄.
思路:二維dp數組,遍歷num1和nums2
dp[i][j] 以nums1[i-1] 和nums[j-1]為下標的最長公共子序列長度為dp[i][j]

設計為i-1,初始化的時候會方便很多,dp[0][j] 和 dp[i][0]其實是沒有意義的,如果第一個數相同dp[1][1] = dp[0][0]+1 并且dp[1][1] = 1,所以把dp[0][0]初始化為0
做題狀態:看解析后做出來了

class Solution {
public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>> dp(nums1.size()+1,vector<int>(nums2.size()+1,0)); //dp[i][j] 以nums1[i-1] 和nums[j-1]為下標的最長公共子序列長度為dp[i][j]int result = 0;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;}// cout << dp[i][j]<<" ";result = max(dp[i][j],result);}cout << endl;}return result;}
};

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

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

相關文章

DM 的斷點續傳測試

作者&#xff1a; 大魚海棠 原文來源&#xff1a; https://tidb.net/blog/4540ae34 一、概述 DM有all、full、incremental三種數據遷移同步方式&#xff08;task-mode&#xff09;&#xff0c;在all同步模式下&#xff0c;因一些特殊情況&#xff0c;需要變更上游MySQL的數…

LDO產品的基礎知識解析

低壓降穩壓器 (LDO)是一種用于調節較高電壓輸入產生的輸出電壓的簡單方法。在大多數情況下&#xff0c;低壓降穩壓器都易于設計和使用。然而&#xff0c;如今的現代應用都包括各種各樣的模擬和數字系統&#xff0c;而有些系統和工作條件將決定哪種LDO最適合相關電路&#xff0c…

鄧普頓的五大投資原則

在《逆向投資 鄧普頓的長贏投資法》的推薦序《“逆向投資大神”鄧普頓五大投資原則》中&#xff0c;劉建位總結了鄧普頓的五大投資原則&#xff0c;分別是“以逆向投資為中心”“以價值投資為選股根本”“以分散投資為組合穩定器”“以全球投資來擴大機會池”“以極度悲觀點投資…

rust單元測試順序執行

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站。 存在的問題 有時候&#xff0c;不同單元測試之間可能會競爭相同的資源&#xff0c;比如讀寫相同的文件。在這種情況下&#xff0c;如果…

springboot的特點是什么?

Spring Boot是一個基于Spring框架的開源項目&#xff0c;它旨在簡化Spring應用的初始搭建和開發過程。以下是Spring Boot的一些主要特點&#xff1a; 快速開發&#xff1a; Spring Boot提供了許多默認配置&#xff0c;使得開發者可以更快地開始開發應用程序&#xff0c;而無需…

秋招突擊——6/28、6.29——復習{數位DP——度的數量}——新作{}

文章目錄 引言復習數位DP——度的數量個人實現參考實現 總結 引言 頭一次產生了那么強烈的動搖&#xff0c;對于未來沒有任何的感覺的&#xff0c;不知道將會往哪里走&#xff0c;不知道怎么辦。可能還是因為實習吧&#xff0c;再加上最近復習也沒有什么進展&#xff0c;并不知…

Vmware Windows虛擬機卡死了

每次遇到這個問題我都想罵娘&#xff01;&#xff01;&#xff01;&#xff01; 這一次是怎么解決的呢&#xff1f; 解決&#xff1a;我給虛擬機連上網就好了&#xff01; 重啟&#xff0c;開關機&#xff0c;一點用都沒有。

前端 JS 經典:箭頭函數的意義

箭頭函數是為了消除函數的二義性。 1. 二義性 函數的二義性指函數有不同的兩種用法&#xff0c;就造成了二義性&#xff0c;函數的兩種用法&#xff1a;1. 指令序列。2. 構造器 1.1 指令序列 就是調用函數&#xff0c;相當于將函數內部的代碼再從頭執行一次。 1.2 構造器 …

【Linux 工具 】 tcpdump詳細使用說明

目錄 1. 安裝 tcpdump 2. 使用 tcpdump 命令 3. 監聽所有網絡接口 4. 監聽指定網絡接口 5. 保存數據包到文件 6. 讀取保存的數據包文件 7. 過濾數據包 過濾源 IP 地址: 過濾目標 IP 地址: 過濾源和目標 IP 地址: 過濾指定端口: 過濾指定協議: 8. 顯示數據包詳…

爬蟲實戰:使用PHP爬取攜程旅游信息

隨著旅游業的不斷發展&#xff0c;旅游信息變得非常豐富。為了方便大家獲取更全面、準確的旅游信息&#xff0c;我們可以使用爬蟲來抓取旅游網站上的數據&#xff0c;并進行分析和處理。本文將介紹如何使用php爬取攜程旅游信息。 爬蟲基礎知識 爬蟲是一種自動化程序&#xff…

Android SurfaceFlinger——OpenGL ES基礎介紹(十二)

前面的文章我們介紹了 HWC,知道他在 Android 系統中用于硬件加速屏幕合成的一個組件。負責將多個 Surface(包括那些可能通過 OpenGL ES 渲染的內容)合成到一起,并輸出到屏幕。HWC 利用底層硬件(如 GPU)來執行合成操作,減少 CPU 的負擔,提高效率和電池壽命。 一、概述 …

如何借助 LLM 設計和實現任務型對話 Agent

1 引言 在人工智能的快速發展中&#xff0c;任務型對話 Agent 正成為提升用戶體驗和工作效率的關鍵技術。這類系統通過自然語言交互&#xff0c;專注于高效執行特定任務&#xff0c;如預訂酒店或查詢天氣。盡管市場上的開源框架如 Rasa 和 Microsoft Bot Framework 在對話理解…

【筆記】一些PDN建立成功后返回的IP地址情況及日志分析

背景 Protocol滿足運營商需求,即便是PDN的通的,也可能因為網絡問題導致MMS、熱點等業務無法正常工作。(丟包?網絡無響應?服務器異常) 或者Protocol跟運營商需求不一致,直接SETUP_DATA_CALL失敗了。 一般而言,如果APN Protocol 參數配置不符合運營商要求,在 PDN 建立…

正則表達式結合自定義function使用replace

replace使用正則表達式和function替換 js代碼 html代碼 場景描述 輸入不同數量的人名&#xff0c;根據不同的人數打印不同的描述 代碼分析 首先在js代碼中使用templates定義了5個模板&#xff0c;通過 var idx Math.min(names.length, 4)根據人數獲取對應的模板的索引&…

tqdm庫教程 - 進度條可視化利器

tqdm庫教程 - 進度條可視化利器 1. 什么是tqdm?2. tqdm的基本用法3. tqdm的高級用法3.1 自定義描述3.2 手動更新進度條3.3 在文件處理中使用tqdm 4. tqdm的其他特性4.1 嵌套進度條4.2 在Jupyter Notebook中使用 5. 總結 1. 什么是tqdm? tqdm是一個Python庫,用于在循環或長時…

揭秘多年免費聽音樂、直播、影視的自用方案:手機、電視、電腦多平臺0成本實現媒體自由(內含相關資源)

文章目錄 ?? 介紹 ???? 演示環境 ???? 多媒體自由 ???? 音樂資源??安卓平臺?? 蘋果平臺?? PC平臺?? 影視資源?? 安卓平臺?? 蘋果平臺?? 電視盒子?? PC平臺?? 電影下載?? 直播資源?? 手機平臺?? PC平臺?? 電視盒子?? 相關鏈接 ???…

秋招力扣刷題——數據流的中位數

一、題目要求 中位數是有序整數列表中的中間值。如果列表的大小是偶數&#xff0c;則沒有中間值&#xff0c;中位數是兩個中間值的平均值。 例如 arr [2,3,4] 的中位數是 3 。 例如 arr [2,3] 的中位數是 (2 3) / 2 2.5 。 實現 MedianFinder 類: MedianFinder() 初始化 …

ISS檢測原理

ISS(Intrinsic Shape Signatures)是由Yu Zhong于2009年提出的一種三維形狀描述子,用于描述局部或半局部區域的點云,局部區域可以理解為以一個點云中某點為球心,以一定半徑構成的可以包含多個內點的球形區域,半局部則是半個球形區域。ISS可用于不同視角點云的配準、快速姿…

大數據面試題之Spark(4)

目錄 RDD的容錯 Executor內存分配? Spark的batchsize&#xff0c;怎么解決小文件合并問題? Spark參數(性能)調優 介紹一下Spark怎么基于內存計算的 說下什么是RDD(對RDD的理解)?RDD有哪些特點?說下知道的RDD算子 RDD底層原理 RDD屬性 RDD的緩存級別? Spark廣播變…

MongoDB筆記02

MongoDB中的數據具有靈活的模式&#xff0c;文檔在同一集合&#xff0c;但他們不需要具有相同的字段或結構集合&#xff0c;集合文檔中的公共字段可以包含不同類型的數據 MongoDB中的數據具有靈活的模式&#xff0c;與sql數據庫不同&#xff0c;sql數據庫必須在插入數據之前確…