二分查找前提是數(shù)組為有序數(shù)組注意開閉區(qū)間int search(vector & nums, int target) {int left = 0;int right = num...
![240](https://cdn2.jianshu.io/assets/default_avatar/11-4d7c6ca89f439111aff57b23be1c73ba.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
二分查找前提是數(shù)組為有序數(shù)組注意開閉區(qū)間int search(vector & nums, int target) {int left = 0;int right = num...
兩個月的算法訓(xùn)練營,主要學(xué)習(xí)了 數(shù)組副女、鏈表、哈希表锋谐、字符串毫目、棧與隊列侥衬、二叉樹、回溯血久、貪心突照、動態(tài)規(guī)劃及單調(diào)棧。 題目雖然不多氧吐,但也是卡哥精心挑選讹蘑,對于我們這種工作中很少使用到算...
84.柱狀圖中最大的矩形 找每個柱子左右兩邊第一個小于該柱子的柱子 從棧頭(元素從棧頭彈出)到棧底的順序從大到小 三種情況: 情況一:當(dāng)前遍歷的元素heights[i]大于棧...
503.下一個更大元素II 兩個nums數(shù)組拼接在一起筑舅,使用單調(diào)棧計算出每一個元素的下一個最大值座慰,最后再把結(jié)果集即result數(shù)組resize到原數(shù)組大小就可以 vector...
739.每日溫度 首先想到暴力求解 遍歷的過程中需要用一個棧來記錄右邊第一個比當(dāng)前元素高的元素豁翎,優(yōu)點是整個數(shù)組只需要遍歷一次 單調(diào)棧里存放元素的下標(biāo)i 情況一:當(dāng)前遍歷的元素...
647.回文子串 動規(guī)五部曲 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i][j]:表示區(qū)間范圍[i,j] (注意是左閉右閉)的子串是否是回文子串,如果是dp[i...
583.兩個字符串的刪除操作 動規(guī)五部曲 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i][j]:以i-1為結(jié)尾的字符串word1邦尊,和以j-1位結(jié)尾的字符串word...
392.判斷子序列 動態(tài)規(guī)劃五部曲 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i][j] 表示以下標(biāo)i-1為結(jié)尾的字符串s优烧,和以下標(biāo)j-1為結(jié)尾的字符串t蝉揍,相同子...
1143.最長公共子序列 動規(guī)五部曲 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i][j]:長度為[0, i - 1]的字符串text1與長度為[0, j - 1...
300.最長遞增子序列 動規(guī)五部曲 dp[i]的定義 dp[i]表示i之前包括i的以nums[i]結(jié)尾的最長遞增子序列的長度 狀態(tài)轉(zhuǎn)移方程 位置i的最長升序子序列等于j從0到...
309.最佳買賣股票時機含冷凍期 動規(guī)五部曲 確定dp數(shù)組以及下標(biāo)的含義 dp[i][j]杖刷,第i天狀態(tài)為j,所剩的最多現(xiàn)金為dp[i][j] 狀態(tài)一:持有股票狀態(tài) 狀態(tài)二:保...
123.買賣股票的最佳時機III 動態(tài)規(guī)劃五部曲 確定dp數(shù)組以及下標(biāo)的含義 一天一共就有五個狀態(tài)滑燃, 沒有操作 (其實我們也可以不設(shè)置這個狀態(tài)) 第一次持有股票 第一次不持有...
121.買賣股票的最佳時機 動規(guī)五部曲 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i][0] 表示第i天持有股票所得最多現(xiàn)金 dp[i][1] 表示第i天不持有股...
198.打家劫舍 當(dāng)前房屋偷與不偷取決于 前一個房屋和前兩個房屋是否被偷了 動規(guī)五部曲 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i]:考慮下標(biāo)i(包括i)以內(nèi)的...
139.單詞拆分 轉(zhuǎn)化為背包問題: 單詞就是物品典予,字符串s就是背包 動規(guī)五部曲 確定dp數(shù)組以及下標(biāo)的含義 dp[i] : 字符串長度為i的話,dp[i]為true乐严,表示可以...
完全背包 與01背包差別是物品可以重復(fù)用昂验,那么在遍歷容量就要從小到大遍歷 // 先遍歷物品捂敌,再遍歷背包for(inti=0;i<weight.size();i++){// 遍...
1049.最后一塊石頭的重量II 關(guān)鍵將一堆石頭分成兩份黍匾,近可能接近平均值 動規(guī)五步曲: 確定dp數(shù)組以及下標(biāo)的含義 dp[j]表示容量(這里說容量更形象,其實就是重量)為j...
01背包問題 分為二維數(shù)組和一維數(shù)組锐涯,一維有點繞 416.分割等和子集 動規(guī)五部曲: 確定dp數(shù)組以及下標(biāo)的含義 01背包中,dp[j] 表示: 容量為j的背包填物,所背的物品價...
343.整數(shù)拆分 動規(guī)五部曲: 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i]:分拆數(shù)字i,可以得到的最大乘積為dp[i] 確定遞推公式 dp[i] = max(...
62.不同路徑 動規(guī)五部曲: 確定dp數(shù)組(dp table)以及下標(biāo)的含義 dp[i][j] :表示從(0 升薯,0)出發(fā),到(i, j) 有dp[i][j]條不同的路徑击困。 確...