原创 Leetcode:682. 棒球比賽 (最詳細的解法!!!)

你現在是棒球比賽記錄員。 給定一個字符串列表,每個字符串可以是以下四種類型之一: 1.整數(一輪的得分):直接表示您在本輪中獲得的積分數。 2. “+”(一輪的得分):表示本輪獲得的得分是前兩輪有效 回合得分的總和。 3. “D”

原创 Leetcode 有效的括號 ( 最詳細的解法!!!)

給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。 注意空字符串可被認爲是有效字符串。 示例 1:

原创 LeetCode 二叉樹的中序遍歷 (最詳細的解法!!!)

給定一個二叉樹,返回它的中序 遍歷。 示例: 輸入: [1,null,2,3] 1 2 / 3 輸出: [1,3,2] 進階: 遞歸算法很簡單,你可以通過迭代算法完成嗎? 解題思路:二叉樹的中序遍歷:左根右。採用遞歸的思路很簡單

原创 LeetCode--二叉樹的先序遍歷(c++,最詳細的解法!!!)

給定一個二叉樹,返回它的 前序 遍歷。 示例: 輸入: [1,null,2,3] 1 2 / 3 輸出: [1,2,3] 進階: 遞歸算法很簡單,你可以通過迭代算法完成嗎? 解題思路 1、如果採用遞歸思想的話,只需滿足根、左、右

原创 LeetCode -- 二叉樹的後序遍歷(最詳細的解法!!!)

給定一個二叉樹,返回它的 後序 遍歷。 示例: 輸入: [1,null,2,3] 1 2 / 3 輸出: [3,2,1] 進階: 遞歸算法很簡單,你可以通過迭代算法完成嗎? 解題思路:總體思路分爲遞歸和迭代兩種。兩者都是依賴於後

原创 LeetCode最小棧 (最詳細的解法!!!)

設計一個支持 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。 push(x) – 將元素 x 推入棧中。 pop() – 刪除棧頂的元素。 top() – 獲取棧頂元素。 getMin() – 檢索棧中的最小

原创 深度神經網絡生成模型:從 GAN VAE 到 CVAE-GAN

推薦一篇寫得很好的文章。 原文鏈接: https://zhuanlan.zhihu.com/p/27966420

原创 LeetCode856. 括號的分數 c++(最詳細的思路解法!!!)

給定一個平衡括號字符串 S,按下述規則計算該字符串的分數: () 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括號字符串。 (A) 得 2 * A 分,其中 A 是平衡括號字符串。 示例 1: 輸入: “()”

原创 LeetCode--下一個更大的元素(四種解法,最詳細的解法!!!)

題目描述: 給定兩個沒有重複元素的數組 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每個元素在 nums2 中的下一個比其大的值。 nums1 中數字 x 的下一個更大元素是指 x 在

原创 劍指offer經典面試編程題--atoi()實現

考察是否具有良好的編程習慣:寫代碼之前應該考慮所有可能的測試用例。 1、要考慮到輸入的字符串中有非數字字符和正負號。 2、要考慮到最大的正整數和最小的負整數以及溢出。 3、要考慮到當輸入的字符串不能轉換成整數時,應該如何做錯誤處理。

原创 LeetCode1003、檢查替換後的詞是否有效(最詳細的解法!!!)

給定有效字符串 “abc”。 對於任何有效的字符串 V,我們可以將 V 分成兩個部分 X 和 Y,使得 X + Y(X 與 Y 連接)等於 V。(X 或 Y 可以爲空。)那麼,X + “abc” + Y 也同樣是有效的。 例如,如果

原创 幫你瞬間理清STL各容器與其排序算法sort()的關係!!!

STL的所有關聯型容器都有自動排序的功能(底層結構採取RB-tree),所以不需要用到這個sort算法。 至於序列式容器中的stack、queue和priority-queue都有特定的出入口,不允許用戶對元素進行排序。 剩下的vec

原创 一張圖幫你徹底瞭解STL各容器之間的關係!!!

對於序列容器而言,deque(雙端隊列)和list(雙鏈表)是一般序列容器(如:棧、隊列)的底層機制。 heap(堆)是一棵父節點的值不大於或者不小於子節點的完全二叉樹。 priority-queue(優先隊列)是以堆爲底層機制來實

原创 徹底理解面試難點之rb-tree(紅黑樹)續--對紅黑樹的插入和刪除操作的一些理解!!!

這裏主要講一下對紅黑樹的插入和刪除操作的一些理解 對於紅黑樹的一些相關性質的介紹,上篇已經講了,這裏不再介紹,有需要了解的,可以翻前面的博客看看。 1、紅黑樹的插入操作 對於紅黑樹的元素插入,我們首先要通過查找來確定插入元素在樹中所在

原创 徹底理解面試難點之rb-tree(紅黑樹)!!!

紅黑樹的起源,自然是二叉查找樹了,這種樹結構從根節點開始,左子節點小於它,右子節點大於它。每個節點都符合這個特性,所以易於查找,是一種很好的數據結構。但是它有一個問題,就是容易偏向某一側,這樣就像一個鏈表結構了,失去了樹結構的優點,查