原创 Effective C++ 第六章 繼承與面向對象設計 條款32-條款40

文章目錄條款32.確定你的public繼承塑模出is-a關係條款33.避免遮掩繼承而來的名稱條款34.區分接口繼承和實現繼承條款35.考慮virtual函數以外的其他選擇條款36.絕不重新定義繼承而來的non-virtual函數條

原创 leetcode1028. 從先序遍歷還原二叉樹/先序遍歷

文章目錄題目:leetcode1028. 從先序遍歷還原二叉樹基本思想1:先序遍歷非遞歸形式基本思想2:先序遍歷遞歸形式 題目:leetcode1028. 從先序遍歷還原二叉樹 我們從二叉樹的根節點 root 開始進行深度優先搜索

原创 leetcode126. 單詞接龍 II/圖,最短路徑

給定兩個單詞(beginWord 和 endWord)和一個字典 wordList,找出所有從 beginWord 到 endWord 的最短轉換序列。轉換需遵循如下規則: 每次轉換隻能改變一個字母。 轉換過程中的中間單詞必須是字

原创 leetcode面試題46. 把數字翻譯成字符串/典型的青蛙跳臺階題目(遞歸),動態規劃

文章目錄題目基本思想 題目 給定一個數字,我們按照如下規則把它翻譯爲字符串:0 翻譯成 “a” ,1 翻譯成 “b”,……,11 翻譯成 “l”,……,25 翻譯成 “z”。一個數字可能有多個翻譯。請編程實現一個函數,用來計算一個

原创 leetcode837. 新21點/動態規劃

愛麗絲參與一個大致基於紙牌遊戲 “21點” 規則的遊戲,描述如下: 愛麗絲以 0 分開始,並在她的得分少於 K 分時抽取數字。 抽取時,她從 [1, W] 的範圍中隨機獲得一個整數作爲分數進行累計,其中 W 是整數。 每次抽取都是

原创 leetcode743. 網絡延遲時間/單源最短路徑:迪杰特斯拉,SPFA,Bellman-Ford,Floyd

有 N 個網絡節點,標記爲 1 到 N。 給定一個列表 times,表示信號經過有向邊的傳遞時間。 times[i] = (u, v, w),其中 u 是源節點,v 是目標節點, w 是一個信號從源節點傳遞到目標節點的時間。 現在

原创 leetcode215. 數組中的第K個最大元素/快排,堆排,優先隊列

文章目錄題目:215. 數組中的第K個最大元素基本思想1:快速排序基本思想2:堆排序基本思想3:藉助優先隊列大根堆,申請數組長度個空間小根堆,申請k個空間 題目:215. 數組中的第K個最大元素 在未排序的數組中找到第 k 個最大

原创 leetcode739. 每日溫度/單調棧

文章目錄題目基本思想1 : 單調棧基本思想2:暴力 題目 根據每日 氣溫 列表,請重新生成一個列表,對應位置的輸出是需要再等待多久溫度纔會升高超過該日的天數。如果之後都不會升高,請在該位置用 0 來代替。 例如,給定一個列表 te

原创 leetcode1300. 轉變數組後最接近目標值的數組和/二分法

文章目錄題目基本思想:二分法 題目 給你一個整數數組 arr 和一個目標值 target ,請你返回一個整數 value ,使得將數組中所有大於 value 的值變成 value 後,數組的和最接近 target (最接近表示兩

原创 leetcode1043. 分隔數組以得到最大和/動態規劃

文章目錄題目:1043. 分隔數組以得到最大和基本思想:動態規劃 題目:1043. 分隔數組以得到最大和 給出整數數組 A,將該數組分隔爲長度最多爲 K 的幾個(連續)子數組。分隔完成後,每個子數組的中的值都會變爲該子數組中的最大

原创 leetcode378. 有序矩陣中第K小的元素/二分查找,堆

文章目錄題目:378. 有序矩陣中第K小的元素基本思想1:優先隊列(沒有用到元素有序這個條件)基本思想2:歸併排序(只利用到矩陣的列是有序的)基本思想3:二分查找 題目:378. 有序矩陣中第K小的元素 給定一個 n x n 矩陣

原创 leetcode207. 課程表/拓撲排序,dfs,bfs

文章目錄題目:207. 課程表基本思想1:bfs基本思想2:dfs 題目:207. 課程表 你這個學期必須選修 numCourse 門課程,記爲 0 到 numCourse-1 。 在選修某些課程之前需要一些先修課程。 例如,想要

原创 leetcode1129. 顏色交替的最短路徑/單源最短路徑,BFS,DFS

文章目錄標題:leetcode1129. 顏色交替的最短路徑基本思想1:BFS基本思想2:dfs深度分析 標題:leetcode1129. 顏色交替的最短路徑 在一個有向圖中,節點分別標記爲 0, 1, …, n-1。這個圖中的每

原创 leetcode567. 字符串的排列/滑動窗口

給定兩個字符串 s1 和 s2,寫一個函數來判斷 s2 是否包含 s1 的排列。 換句話說,第一個字符串的排列之一是第二個字符串的子串。 示例1: 輸入: s1 = "ab" s2 = "eidbaooo" 輸出: True 解釋

原创 leetcode133. 克隆圖/bfs,dfs

文章目錄題目:leetcode133. 克隆圖基本思想1:bfs基本思想2:dfs 題目:leetcode133. 克隆圖 給你無向 連通 圖中一個節點的引用,請你返回該圖的 深拷貝(克隆)。 圖中的每個節點都包含它的值 val(