860.檸檬水找零 思路: 設(shè)立錢箱count(3,0) 分成三種情況: 1. 5元鈔票,count[0]++; 2. 10元鈔票, 判斷count[0]是否有錢返回(cou...
860.檸檬水找零 思路: 設(shè)立錢箱count(3,0) 分成三種情況: 1. 5元鈔票,count[0]++; 2. 10元鈔票, 判斷count[0]是否有錢返回(cou...
1005.K次取反后最大化的數(shù)組和 思路: 先排序,在循環(huán)條件while(k>0&&i<nums.size()&&nums[i]<0)下,nums[i]=(-1)*nums[...
122.買賣股票的最佳時機II 思路: 用profit記錄每一輪的利益,tempPrice記錄手中的價格(假裝買入第一天),result記錄獲得的收益 如果當前價格-手中持有...
貪心算法: 貪心無套路,局部最優(yōu)推全局最優(yōu)。 455.分發(fā)餅干 思路: 盡量大餅干給大需求 先排序,兩個數(shù)組都從小到大順序。用num記錄多少個孩子吃到了餅干。如果沒有孩子或沒...
332.重新安排行程(二刷回看) 思路: 用回溯記錄可能的行程,用vector used記錄是否使用過,用如下代碼判斷是否放進path: if(tickets[i][0]!=...
491.遞增子序列 思路: 這道題不能進行排序,否則會將后面的相同的數(shù)放到前面導致增加了數(shù)組。不排序但使用之前的去重沒法去除非連續(xù)的集合。使用最大值記錄i,跳過比最大值小的會...
93.復原IP地址 思路: 本來沒有思路,看了下視頻的思路講解再寫的代碼 參數(shù): 全局變量: vector result; stringpath; 函數(shù)變量: strings...
39. 組合總和 思路: 變量: 全局變量: vector<vector >result; vector path;intsum=0; 函數(shù)變量: vector &candi...
216.組合總和III 函數(shù)參數(shù): 全局變量:一維數(shù)組path,二維數(shù)組result, int sum 參數(shù):k,n,starti 終止條件: if(path.size()=...
回溯法理論基礎(chǔ): 回溯法: 回溯搜索法,用于搜索,實際上是遞歸函數(shù) 效率: 是窮舉,暴力搜索,效率不高。剪枝可以更高效。 應(yīng)用場景: 組合問題:N個數(shù)里面按一定規(guī)則找出k個數(shù)...
669. 修剪二叉搜索樹(二刷注意) 思路: 類似刪除二叉搜索樹的節(jié)點,如果root->val不在范圍內(nèi)則刪除節(jié)點,注意需要按照左右中的順序,先處理左子樹里的不符合的節(jié)點再處...
235.二叉搜索樹的最近公共祖先 思路: 1. 按照搜索普通二叉樹的最近公共祖先進行搜素,后序遍歷,如果==則返回節(jié)點 2. 根據(jù)二叉搜索樹特性進行尋找 邊界條件: if(r...
530.二叉搜索樹的最小絕對差 思路: 類似第98題:驗證二叉搜索樹,中序遍歷能有序遍歷,相鄰元素即為差最小 1. 用中序遍歷遍歷樹得到有序數(shù)組,用一個數(shù)組記錄樹的元素,再對...
654.最大二叉樹 思路: 根據(jù)昨天做的前序+中序or中序+后序的思路進行做題。1.判斷數(shù)組是否為空 2.找到數(shù)組中的最大值和其位置 3.根據(jù)數(shù)組最大值構(gòu)造root根節(jié)點 4...
513.找樹左下角的值 思路: 1.迭代法 每一層遍歷開始,先存放result,再開始遍歷,最后返回result。 2.遞歸法 定義一個pair<val,depth>,定義函...
110.平衡二叉樹 思路: 這道題求的是高度,所以使用后序遍歷,將左右節(jié)點的信息返回給根節(jié)點。如果是空節(jié)點則返回true,如果左右節(jié)點的高度相差大于1則返回false。 看視...
104.二叉樹的最大深度 思路: 層序遍歷,每一層深度加1,遍歷完所有節(jié)點。返回深度。 看視頻后: 深度:指從根節(jié)點到該節(jié)點的最長簡單路徑邊的條數(shù)或者節(jié)點數(shù)(取決于深度從0開...
層序遍歷 層序遍歷是廣度優(yōu)先算法,需要隊列來實現(xiàn)。隊列先進先出符合一層層遍歷的邏輯,棧適合深度優(yōu)先算法是遞歸的邏輯。 先初始化,建立隊列和兩級數(shù)組。判斷頭節(jié)點是否為空,不為空...
二叉樹理論基礎(chǔ) 二叉樹種類: 1. 滿二叉樹 如果一棵二叉樹只有度為0的結(jié)點和度為2的結(jié)點,并且度為0的結(jié)點在同一層上,則這棵二叉樹為滿二叉樹。節(jié)點數(shù)量2^k-1,k是深度。...
239. 滑動窗口最大值 思路: 用數(shù)組下標確定號滑動窗口兩邊邊界,遍歷元素O(n)。寫一個在k個元素中尋找最大值的函數(shù)O(k)。暴力破解法,時間復雜度為O(nk),超過時間...