原创 HDU 1019 Least Common Multiple GCD

The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by a

原创 Leetcode 295. 數據流的中位數

中位數是有序列表中間的數。如果列表長度是偶數,中位數則是中間兩個數的平均值。 例如, [2,3,4] 的中位數是 3 [2,3] 的中位數是 (2 + 3) / 2 = 2.5 設計一個支持以下兩種操作的數據結構: void addNu

原创 Leetcode 105. 從前序與中序遍歷序列構造二叉樹

根據一棵樹的前序遍歷與中序遍歷構造二叉樹。 注意: 你可以假設樹中沒有重複的元素。 例如,給出 前序遍歷 preorder = [3,9,20,15,7] 中序遍歷 inorder = [9,3,15,20,7] 返回如下的二叉樹:

原创 HDU 1016 Uniform Generator GCD

Computer simulations often require random numbers. One way to generate pseudo-random numbers is via a function of the

原创 Leetcode 378. 有序矩陣中第K小的元素

給定一個 n x n 矩陣,其中每行和每列元素均按升序排序,找到矩陣中第k小的元素。 請注意,它是排序後的第k小元素,而不是第k個元素。 示例: matrix = [ [ 1, 5, 9], [10, 11, 13],

原创 Leetcode 106. 從中序與後序遍歷序列構造二叉樹 遞歸

根據一棵樹的中序遍歷與後序遍歷構造二叉樹。 注意: 你可以假設樹中沒有重複的元素。 例如,給出 中序遍歷 inorder = [9,3,15,20,7] 後序遍歷 postorder = [9,15,7,20,3] 返回如下的二叉樹:

原创 Leetcode 347. 前K個高頻元素

給定一個非空的整數數組,返回其中出現頻率前 k 高的元素。 示例 1: 輸入: nums = [1,1,1,2,2,3], k = 2 輸出: [1,2] 示例 2: 輸入: nums = [1], k = 1 輸出: [1] 說

原创 計算機網絡基礎(四) 網絡層

服務設計思路:網絡層向上提供無連接的,簡單靈活的,不可靠的交付數據服務。這樣可能造成所傳送的分組的出錯,丟失等錯誤,但是這樣可以使路由器做的簡單,價格低廉。 這種思路的好處:網絡造價大大降低,能適應多種應用,運行方式靈活。 網際協議IP:

原创 計算機網絡基礎(三) 數據鏈路層

  使用的信道類型: 點對點信道 廣播信道 鏈路與數據鏈路區別: 鏈路:從一個結點到相鄰結點的一段物理線路(有線或無線),中間沒有任何其他的交換結點。鏈路只是一條路徑的組成部分,也稱作物理鏈路 數據鏈路:鏈路的基礎上加上必要的通信協議,也

原创 計算機網絡基礎(二) 物理層

實體:表示任何可發送或接受信息的硬件或軟件進程 協議:是控制兩個對等實體(或多個實體)進行通信的規則的集合 協議和服務的關係:在協議控制下,兩個對等實體間的通信使本層能夠向上一層服務,要實現本層協議,需要使用下一層的服務,使用本層服務的實

原创 leetcode 數組中的第K個最大元素 快排思想

在未排序的數組中找到第 k 個最大的元素。請注意,你需要找的是數組排序後的第 k 個最大的元素,而不是第 k 個不同的元素。 示例 1: 輸入: [3,2,1,5,6,4] 和 k = 2 輸出: 5 示例 2: 輸入:

原创 Leetcode 最小棧 棧的應用

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

原创 計算機網絡基礎 (一) 第一章 總概論

1.系統網絡體系結構(SNA) 2.TCP/IP協議是四層網絡體系結構:應用層,運輸層,網際層和網絡接口層。    平常採用5層體系結構(結構了OSI(7層)和TCP/IP的優點)。     5層結構從上到下:應用層,運輸層,網絡層,數據

原创 Leetcode 283. 移動零 思維

給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。 示例: 輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0] 說明: 必須在原數組上操作,不能拷貝額外的數組。 儘量

原创 Leetcode 88. 219. 存在重複元素 II 思維 map

給定一個整數數組和一個整數 k,判斷數組中是否存在兩個不同的索引 i 和 j,使得 nums [i] = nums [j],並且 i 和 j 的差的絕對值最大爲 k。 示例 1: 輸入: nums = [1,2,3,1], k = 3