原创 【Linux 網絡編程】運輸層 ①

三次握手 TCP 三次握手,其實就是建立一個 TCP 連接,客戶端與服務器交互需要 3 個數據包。握手的主要作用就是爲了確認雙方的接收和發送能力是否正常,初始序列號,交換窗口大小以及 MSS 等信息。 第一次握手:客戶端發送 SYN 

原创 【力扣 103】141. 環形鏈表

141. 環形鏈表 給你一個鏈表的頭節點 head ,判斷鏈表中是否有環。 如果鏈表中有某個節點,可以通過連續跟蹤 next 指針再次到達,則鏈表中存在環。 爲了表示給定鏈表中的環,評測系統內部使用整數 pos 來表示鏈表尾連接到鏈表中的位

原创 【C++ 繼承 | 虛函數表 02】C++虛函數表剖析 ②

索引  【C++ 繼承 | 虛函數表 01】C++虛函數表剖析 ①  【C++ 繼承 | 虛函數表 02】C++虛函數表剖析 ②  【C++ 繼承 | 虛函數表 03】C++虛函數表剖析 ③     多重繼承(無虛函數覆蓋) 下面,再讓

原创 【C++ 基礎 | 智能指針 01】shared_ptr 詳解

下圖顯示了指向一個內存位置的幾個 shared_ptr 實例:       看上面的例子,使用 std::shared_ptr 時,會涉及兩次內存分配:一次分配共享資源對象;一次分配控制塊。C++ 標準庫提供了 std::make_sh

原创 【C++ 繼承 | 智能指針 02】weak_ptr

weak_ptr 詳解 #include <iostream> #include <memory> class CB; class CA { public: CA() { std::cout << "CA()" << std::end

原创 【力扣 102】695. 島嶼的最大面積

695. 島嶼的最大面積 給你一個大小爲 m x n 的二進制矩陣 grid 。 島嶼 是由一些相鄰的 1 (代表土地) 構成的組合,這裏的「相鄰」要求兩個 1 必須在 水平或者豎直的四個方向上 相鄰。你可以假設 grid 的四個邊緣都被

原创 【力扣 099】641. 設計循環雙端隊列

641. 設計循環雙端隊列 設計實現雙端隊列。 實現 MyCircularDeque 類: MyCircularDeque(int k) :構造函數,雙端隊列最大爲 k 。boolean insertFront():將一個元素添加到雙端隊列

原创 【力扣 096】1254. 統計封閉島嶼的數目

1254. 統計封閉島嶼的數目 二維矩陣 grid 由 0 (土地)和 1 (水)組成。島是由最大的4個方向連通的 0 組成的羣,封閉島是一個 完全 由1包圍(左、上、右、下)的島。 請返回 封閉島嶼 的數目。   示例 1: 輸入:gr

原创 【力扣 093】92. 反轉鏈表 II

92. 反轉鏈表 II 給你單鏈表的頭指針 head 和兩個整數 left 和 right ,其中 left <= right 。請你反轉從位置 left 到位置 right 的鏈表節點,返回 反轉後的鏈表 。  示例 1: 輸入:head

原创 【力扣 095】2095. 刪除鏈表的中間節點

2095. 刪除鏈表的中間節點 給你一個鏈表的頭節點 head 。刪除 鏈表的 中間節點 ,並返回修改後的鏈表的頭節點 head 。 長度爲 n 鏈表的中間節點是從頭數起第 ⌊n / 2⌋ 個節點(下標從 0 開始),其中 ⌊x⌋ 表示小於

原创 【力扣 098】622. 設計循環隊列

622. 設計循環隊列 設計你的循環隊列實現。 循環隊列是一種線性數據結構,其操作表現基於 FIFO(先進先出)原則並且隊尾被連接在隊首之後以形成一個循環。它也被稱爲“環形緩衝器”。 循環隊列的一個好處是我們可以利用這個隊列之前用過的空間。

原创 【力扣 097】86. 分隔鏈表

86. 分隔鏈表 給你一個鏈表的頭節點 head 和一個特定值 x ,請你對鏈表進行分隔,使得所有 小於 x 的節點都出現在 大於或等於 x 的節點之前。 你應當 保留 兩個分區中每個節點的初始相對位置。   示例 1: 輸入:head =

原创 【力扣 094】141. 環形鏈表

141. 環形鏈表 給你一個鏈表的頭節點 head ,判斷鏈表中是否有環。 如果鏈表中有某個節點,可以通過連續跟蹤 next 指針再次到達,則鏈表中存在環。 爲了表示給定鏈表中的環,評測系統內部使用整數 pos 來表示鏈表尾連接到鏈表中的位

原创 【力扣 091】61. 旋轉鏈表

61. 旋轉鏈表 給你一個鏈表的頭節點 head ,旋轉鏈表,將鏈表每個節點向右移動 k 個位置。   示例 1: 輸入:head = [1,2,3,4,5], k = 2輸出:[4,5,1,2,3]示例 2: 輸入:head = [0,1

原创 【力扣 090】25. K 個一組翻轉鏈表

24. 兩兩交換鏈表中的節點 給你鏈表的頭節點 head ,每 k 個節點一組進行翻轉,請你返回修改後的鏈表。 k 是一個正整數,它的值小於或等於鏈表的長度。如果節點總數不是 k 的整數倍,那麼請將最後剩餘的節點保持原有順序。 你不能只是單