原创 網絡之運輸層

運輸層向它上面的應用層提供通信服務。運輸層提供了進程之間的邏輯通信,網絡層爲主機之間提供了邏輯通信。運輸層向高層屏蔽了下面網絡層的核心細節,使得應用程序看起來像在兩個傳輸實體有一條端到端的邏輯通信通道。 運輸層主要有兩種不同的協議

原创 leetcode之二叉樹層序遍歷

利用隊列的先進先出的特點把每一層的元素push進去後在一次輸出出來。 主要代碼如下 /** * Definition for a binary tree node. * struct TreeNode { * int

原创 Leetcode之跳躍遊戲

簡要題意: 首先你在第一個位置,元素中每一個位置代表你所能跳躍的最長距離。問你是否能走到最後一個位置。 首先我們考慮倒序的解法從後往前當這個位置的數值大於等於到達最後一個位置所需要的距離我們就將該距離設爲1,否則就將距離增加1。主

原创 leetcode之島嶼數量

給你一個由 ‘1’(陸地)和 ‘0’(水)組成的的二維網格,請你計算網格中島嶼的數量。 島嶼總是被水包圍,並且每座島嶼只能由水平方向和/或豎直方向上相鄰的陸地連接形成。 此外,你可以假設該網格的四條邊均被水包圍。 簡要題解: 遍歷

原创 Lettcode之 二叉樹的最近公共祖先

簡要題解: 遞歸解法找到兩個節點分別是在左子樹還是在右子樹中 要是分別在左右子樹中根節點即爲最近公共祖先要是都在左子樹即是遞歸返回來左節點爲最近公共祖先節點,要是都在右子樹跟其一致。 /** * Definition for a

原创 leetcode之鏈表中下一個更大的節點

給出一個以頭節點 head 作爲第一個節點的鏈表。鏈表中的節點分別編號爲:node_1, node_2, node_3, … 。 每個節點都可能有下一個更大值(next larger value):對於 node_i,如果其 ne

原创 leetcode之數組的逆序對

在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數 簡要題解: 利用歸併排序求逆序對即可;在合併數組的時候 當右邊的數組大於左邊的數組的時候答案就加上左邊還未

原创 leetcode之樹的子結構

輸入兩棵二叉樹A和B,判斷B是不是A的子結構。(約定空樹不是任意一個樹的子結構) B是A的子結構, 即 A中有出現和B相同的結構和節點值。 簡要題解: 首先判空只要兩顆樹判空處理只要爲空,只要有一顆樹爲空時即返回空處理。 然後df

原创 leetcode之二叉樹右視圖

給定一棵二叉樹,想象自己站在它的右側,按照從頂部到底部的順序,返回從右側所能看到的節點值 簡要題解: 二叉樹進行層序遍歷 輸出每層最後一個節點即可。 /** * Definition for a binary tree node

原创 leetcode之剪繩子||

給你一根長度爲 n 的繩子,請把繩子剪成整數長度的 m 段(m、n都是整數,n>1並且m>1),每段繩子的長度記爲 k[0],k[1]…k[m] 。請問 k[0]k[1]…*k[m] 可能的最大乘積是多少?例如,當繩子的長度是8時

原创 leetcode之統計優美子數組

給你一個整數數組 nums 和一個整數 k。 如果某個 連續 子數組中恰好有 k 個奇數數字,我們就認爲這個子數組是「優美子數組」。 請返回這個數組中「優美子數組」的數目。 簡要題解 首先我們遍歷一遍數組,爲奇設爲1不爲奇設爲0;

原创 leetcode之 從鏈表中刪去總和值爲零的連續節點

給你一個鏈表的頭節點 head,請你編寫代碼,反覆刪去鏈表中由 總和 值爲 0 的連續節點組成的序列,直到不存在這樣的序列爲止。 刪除完畢後,請你返回最終結果鏈表的頭節點。 簡要題解; 暴力遍歷每一段然後當前段爲0的話就把段頭指針

原创 leetcode之硬幣

硬幣。給定數量不限的硬幣,幣值爲25分、10分、5分和1分,編寫代碼計算n分有幾種表示法。(結果可能會很大,你需要將結果模上1000000007 簡要題解: 完全揹包簡單題,枚舉幣值,統計次數即可。主要代碼如下 class Sol

原创 流量控制傳輸協議 SCTP

SCTP在客戶和服務器之間提供管理,並像TCP那樣給應用提供可靠性,排序,流量控制以及全雙工的數據傳送,SCTP支持多宿而涉及不止兩個地址。 SCTP是面向消息的。提供各個記錄的按序遞送服務。與UDP一樣。由發送端寫入的每條記錄的

原创 leetcode之重排鏈表

給定一個單鏈表 L:L0→L1→…→Ln-1→Ln , 將其重新排列後變爲: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。 簡要題解: 定義一個vector然後把鏈