原创 雙指針問題?so easy!

總綱 雙指針指在遍歷過程中使用兩個指針進行掃描達到目的。大致分爲快慢指針(相同方向)和左右指針(相向方向)。 值得一提的是,左右指針是很多算法的基礎和搭配,如 歸併排序、滑動窗口、字符匹配、單調棧等。 快慢指針 快慢指針一般解決鏈

原创 5最長迴文子串

題目描述 給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。 示例 1: 輸入: “babad” 輸出: “bab” 注意: “aba” 也是一個有效答案。 示例 2: 輸入: “cbbd”

原创 39組合總和

題目描述 給定一個無重複元素的數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的數字可以無限制重複被選取。 說明: 所有

原创 22括號生成

題目描述 給出 n 代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的並且有效的括號組合。 例如,給出 n = 3,生成結果爲: [ “((()))”, “(()())”, “(())()”, “()(())”, “(

原创 704二分查找

題目描述 給定一個 n 個元素有序的(升序)整型數組 nums 和一個目標值 target ,寫一個函數搜索 nums 中的 target,如果目標值存在返回下標,否則返回 -1。 提示: 你可以假設 nums 中的所有元素是

原创 1162地圖分析

題目描述 你現在手裏有一份大小爲 N x N 的『地圖』(網格) grid,上面的每個『區域』(單元格)都用 0 和 1 標記好了。其中 0 代表海洋,1 代表陸地,你知道距離陸地區域最遠的海洋區域是是哪一個嗎?請返回該海洋區域到

原创 79單詞搜索

題目描述 給定一個二維網格和一個單詞,找出該單詞是否存在於網格中。 單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中“相鄰”單元格是那些水平相鄰或垂直相鄰的單元格。同一個單元格內的字母不允許被重複使用。 示例: boar

原创 55跳躍遊戲

題目描述 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 我們可以先

原创 Java後端知識總結

害,馬上要投日常實習了,希望能找到坑位。 這些總結從2月以來反反覆覆,更新、修改、添加知識點,製作腦圖,最後一股腦都拿出來,方便大家和本人查閱吧。 後面絕對會繼續更新!畢竟真正面試了,就知道痛點在哪兒。預計完善的內容包括 數據結構

原创 33搜索旋轉排序數組

題目描述 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 搜索一個給定的目標值,如果數組中存在這個目標值,則返回它的索引,否則

原创 35搜索插入位置

題目描述 給定一個排序數組和一個目標值,在數組中找到目標值,並返回其索引。如果目標值不存在於數組中,返回它將會被按順序插入的位置。 你可以假設數組中無重複元素。 思路分析 打板題。因爲目標值不存在數組還得返回插入的位置,即返回le

原创 154尋找旋轉排序數組中的最小值II

題目描述 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 請找出其中最小的元素。 注意數組中可能存在重複的元素。 思路分析 很

原创 236二叉樹的最近公共節點

題目描述 給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩個結點 p、q,最近公共祖先表示爲一個結點 x,滿足 x 是 p、q 的祖先且 x 的深度儘可能大(一個節點

原创 消息隊列-通用知識

1. 消息隊列 1.1 優缺點 優點/使用場景: 解耦。生產消息後直接給MQ,不用關心其他事務,監聽返回消息就行。 異步。異步執行,提高吞吐量。發送者將消息給MQ後,不需要同步等待處理完畢,而是可以進行其它操作。 削峯。請求放在

原创 153尋找旋轉排序數組中的最小值

題目描述 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 請找出其中最小的元素。 你可以假設數組中不存在重複元素。 思路分析