原创 Leetcode刷題:劍指offer【面試題68-Ⅰ 二叉搜索樹的最近公共祖先】

【面試題68-Ⅰ 二叉搜索樹的最近公共祖先】 面試題68-Ⅰ:二叉搜索樹的最近公共祖先:給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩個結點 p、q,最近公共祖先

原创 Leetcode刷題:劍指offer【面試題68-Ⅱ 二叉搜索樹的最近公共祖先】

【面試題68-Ⅱ 二叉搜索樹的最近公共祖先】 面試題68-Ⅱ:二叉搜索樹的最近公共祖先:給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩個結點 p、q,最近公共祖先表示

原创 【操作系統】進程 & 線程相關知識點

文章目錄1. 進程和線程2. 進程狀態3. 進程調度算法4. 進程的同步與互斥基本概念多線程同步機制5. 實現同步互斥的基本方法5.1 軟件同步機制5.2 硬件同步機制5.3 信號量實現6. PV操作7. 同步經典問題7.1 生產

原创 【操作系統】死鎖相關知識點

文章目錄1. 死鎖基本概念2. 死鎖的四個必要條件3. 死鎖處理方法3.1 鴕鳥策略3.2 死鎖檢測與恢復3.3 死鎖避免3.4 死鎖預防3.5 死鎖處理策略比較4. 其他相關4.1 活鎖4.2 飢餓4.3 通信死鎖4.4 兩階段

原创 Leetcode刷題:劍指offer【面試題67 把字符串轉換成整數】

【面試題67 把字符串轉換成整數】 面試題67:把字符串轉換成整數:寫一個函數 StrToInt,實現把字符串轉換成整數這個功能。不能使用 atoi 或者其他類似的庫函數。 首先,該函數會根據需要丟棄無用的開頭空格字符,直到尋找到

原创 Leetcode刷題:劍指offer【面試題66 構建乘積數組】

【面試題66 構建乘積數組】 面試題66:構建乘積數組:給定一個數組 A[0,1,…,n-1],請構建一個數組 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n

原创 【計算機網絡】傳輸層知識點總結

文章目錄用戶數據報協議 UDP傳輸控制協議 TCP1. TCP 三次握手2. TCP 四次揮手3. TCP可靠傳輸的實現停止等待協議(ARQ協議)滑動窗口協議(連續ARQ協議)流量控制擁塞控制慢開始算法 & 擁塞避免算法快重傳算法

原创 Leetcode刷題:劍指offer【面試題65 不用加減乘除做加法】

【面試題65 不用加減乘除做加法】 面試題65:不用加減乘除做加法:寫一個函數,求兩個整數之和,要求在函數體內不得使用 “+”、“-”、“*”、“/” 四則運算符號。 思路:位運算。 參考:面試題65. 不用加減乘除做加法(位運算

原创 Leetcode刷題:劍指offer【面試題63 股票的最大利潤】

【面試題63 股票的最大利潤】 面試題63:股票的最大利潤:假設把某股票的價格按照時間先後順序存儲在數組中,請問買賣該股票一次可能獲得的最大利潤是多少? 思路:動態規劃。 明確狀態:本題唯一的變量就是“能夠獲取的最大利潤” dp

原创 Leetcode刷題:劍指offer【面試題61 撲克牌中的順子】

【面試題61 撲克牌中的順子】 面試題61:撲克牌中的順子:從撲克牌中隨機抽5張牌,判斷是不是一個順子,即這5張牌是不是連續的。2~10爲數字本身,A爲1,J爲11,Q爲12,K爲13,而大、小王爲 0 ,可以看成任意數字。A 不

原创 Leetcode刷題:劍指offer【面試題57-Ⅱ 和爲s的連續正數序列】

【面試題57-Ⅱ 和爲s的連續正數序列】 面試題57-Ⅱ:和爲s的連續正數序列:輸入一個正整數 target ,輸出所有和爲 target 的連續正整數序列(至少含有兩個數)。序列內的數字由小到大排列,不同序列按照首個數字從小到大

原创 Leetcode刷題:劍指offer【面試題59-Ⅰ 滑動窗口的最大值】

【面試題59-Ⅰ 滑動窗口的最大值】 面試題59-Ⅰ:滑動窗口的最大值:給定一個數組 nums 和滑動窗口的大小 k,請找出所有滑動窗口裏的最大值。 思路一:暴力法。從 0 位置遍歷數組,到 n-k+1 位置結束,每次獲取滑動窗口

原创 Leetcode刷題:劍指offer【面試題58-Ⅰ 翻轉單詞順序】

【面試題58-Ⅰ 翻轉單詞順序】 面試題58-Ⅰ:翻轉單詞順序:輸入一個英文句子,翻轉句子中單詞的順序,但單詞內字符的順序不變。爲簡單起見,標點符號和普通字母一樣處理。例如輸入字符串"I am a student. “,則輸出"s

原创 Leetcode刷題:劍指offer【面試題58-Ⅱ 左旋轉字符串】

【面試題58-Ⅱ 左旋轉字符串】 面試題58-Ⅱ:左旋轉字符串:字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字2,該函數將返回左旋

原创 Leetcode刷題:劍指offer【面試題59-Ⅱ 隊列的最大值】

【面試題59-Ⅱ 隊列的最大值】 面試題59-Ⅱ:隊列的最大值:請定義一個隊列並實現函數 max_value 得到隊列裏的最大值,要求函數max_value、push_back 和 pop_front 的均攤時間複雜度都是O(1)