原创 LeetCode#21-Merge Two Sorted Lists-合併兩個有序鏈表

一、題目 將兩個升序鏈表合併爲一個新的升序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 二、題解 解法1:遞歸 終止條件:兩條鏈表

原创 LeetCode#1047-Remove All Adjacent Duplicates In String-刪除字符串中的所有相鄰重複項

一、題目 給出由小寫字母組成的字符串 S,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。 在 S 上反覆執行重複項刪除操作,直到無法繼續刪除。 在完成所有重複項刪除操作後返回最終的字符串。答案保證唯一。 示例: 輸入:"abbaca

原创 LeetCode#345-Reverse Vowels of a String-反轉字符串中的元音字母

一、題目 編寫一個函數,以字符串作爲輸入,反轉該字符串中的元音字母。 示例 1: 輸入: "hello" 輸出: "holle" 示例 2: 輸入: "leetcode" 輸出: "leotcede" 說明:元音字母不包含字母"y"。

原创 LeetCode#344-Reverse String-反轉字符串

一、題目 編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 char[] 的形式給出。 不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。 你可以假設數組中的所有字符都是 AS

原创 LeetCode#232-Implement Queue using Stacks-用棧實現隊列

一、題目 使用棧實現隊列的下列操作: push(x) -- 將一個元素放入隊列的尾部。 pop() -- 從隊列首部移除元素。 peek() -- 返回隊列首部的元素。 empty() -- 返回隊列是否爲空。 示例: MyQueue

原创 LeetCode#20-Valid Parentheses-有效的括號

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

原创 LeetCode#15 | Three Sum 三數之和

一、題目 給你一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重複的三元組。 注意:答案中不可以包含重複的三元組。 示例: 給定數組 num

原创 《即時消息技術剖析與實戰》學習筆記12——IM系統如何提升圖片、音視頻消息發送、瀏覽的體驗

IM系統如何提升用戶發送、瀏覽圖片和音視頻消息的體驗呢?一是保證圖片、音視頻消息發送得又快又穩,二是保證用戶瀏覽播放圖片、音視頻消息時流暢不卡頓。 一、提升用戶發送圖片、音視頻的體驗 1. 多上傳接入點 針對不同的主流運營商提供不同的上傳

原创 LeetCode#136 | Single Number 只出現一次的數字

一、題目 給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明:你的算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎? Given an array of integers,

原创 LeetCode#26 | Remove Duplicates from Sorted Array 刪除有序數組中的重複元素

一、題目 Given a sorted array, remove the duplicates in-place such that each element appear only once and return the new le

原创 《即時消息技術剖析與實戰》學習筆記8——IM系統如何保證長連接的可用性

假設有以下突發意外情況: 用戶進入信號不好的地方,手機沒有網絡信號了 上網的路由器突然掉線了 這個時候,比如微信發消息,消息就會轉圈圈,甚至變成紅色歎號…… 上面情況都會導致“長連接”不可用。 我們知道,爲了讓消息能更加實時、可靠、快速

原创 《即時消息技術剖析與實戰》學習筆記10——IM系統如何應對高併發

一、IM 系統的高併發場景 IM 系統中,高併發多見於直播互動場景。比如直播間,在直播過程中,觀衆會給主播打賞、送禮、發送彈幕等,尤其是明星直播間,幾十萬、上百萬人的規模一點也不稀奇。近期隨着武漢新型肺炎疫情的蔓延,很多教育機構也提供了“停

原创 《即時消息技術剖析與實戰》學習筆記9——IM系統如何支持消息的多終端漫遊

一、什麼是多終端漫遊 多終端漫遊是指:用戶在任意一個設備登錄後,都能獲取到歷史的聊天記錄。如:QQ 默認漫遊 7 天的聊天記錄,開通 VIP 會員可漫遊 30 天,開通 SVIP 會員可漫遊 2 年。 二、多終端漫遊的實現 支持消息多終端漫

原创 Go的切片:長度和容量

雖然說 Go 的語法在很大程度上和 PHP 很像,但 PHP 中卻是沒有“切片”這個概念的,在學習的過程中也遇到了一些困惑,遂做此筆記。 困惑1:使用 append 函數爲切片追加元素後,切片的容量時變時不變,其擴容機制是什麼? 困惑2:更

原创 LeetCode刷題(持續更新ing……)

準備刷題了!已經預見未來的日子是苦並快樂的了!雖然 N 年前刷過題,但現在感覺數據結構與算法的基本功快忘光了😭 由於本人主要使用 PHP 語言,所以刷題主要用 PHP 來寫代碼,自學 Go 中,時間精力都允許的情況下看看能不能用 Go 語言