原创 將CSDN博客內容保存爲PDF

文章轉自:https://blog.csdn.net/u010954948/article/details/82843105, 爲了方便自己使用,所以在這裏保存一下! 使用Google Chrome瀏覽器,在右上角點開設置一欄,找

原创 組合排序題目彙總(排列組合、卡特蘭數和遞歸思想)

組合排序題目彙總排列組合矩陣走法A必須在B左邊站隊互不相鄰站隊分糖果球放入桶吃糖卡特蘭數括號匹配進出棧順序/售票順序二叉樹不同的結構數高矮排列遞歸思想信封裝信 排列組合 矩陣走法 在6×9的方格中,以左上角爲起點,右下角爲終點,每

原创 LeetCode-146.LRU緩存機制

題目 運用你所掌握的數據結構,設計和實現一個 LRU (最近最少使用) 緩存機制。它應該支持以下操作: 獲取數據 get 和 寫入數據 put 。 獲取數據 get(key) — 如果密鑰 (key) 存在於緩存中,則獲取密鑰的

原创 LeetCode-8.字符串轉換整數(atoi)

題目 請你來實現一個 atoi 函數,使其能將字符串轉換成整數。 首先,該函數會根據需要丟棄無用的開頭空格字符,直到尋找到第一個非空格的字符爲止。 當我們尋找到的第一個非空字符爲正或者負號時,則將該符號與之後面儘可能多的連續數字組

原创 布隆過濾器概念及其公式推導

布隆過濾器概念及其公式推導布隆過濾器概念數據如何存入布隆過濾器誤判情況實際應用面試題公式推導誤判概率即失誤率的證明和計算其他使用場景 公式推導內容轉自博客 https://blog.csdn.net/houzuoxin/artic

原创 LeetCode-43.字符串相乘

題目 給定兩個以字符串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示爲字符串形式。 示例 1: 輸入: num1 = “2”, num2 = “3” 輸出: “6” 示例 2

原创 LeetCode-41.缺失的第一個正數

題目 給定一個未排序的整數數組,找出其中沒有出現的最小的正整數。 示例 1: 輸入: [1,2,0] 輸出: 3 示例 2: 輸入: [3,4,-1,1] 輸出: 2 示例 3: 輸入: [7,8,9,11,12] 輸出

原创 LeetCode-34.在排序數組中查找元素的第一個和最後一個位置

題目 給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間複雜度必須是 O(log n) 級別。 如果數組中不存在目標值,返回 [-1, -1]。 示例

原创 LeetCode-33.搜索旋轉排序數組

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

原创 KMP算法基礎版和進階版簡單解釋-Java版

KMP算法基礎版和進階版簡單解釋KMP算法KMP算法基礎版如何理解getNext中的k = next[k]KMP算法基礎版代碼KMP算法改進版KMP算法改進版代碼 KMP算法 比較口語化的寫了爲什麼k = next[k]和改進版中ne

原创 動態規劃示例彙總-Java版(組合硬幣、跳臺階、最小路徑和、最長遞增子序列、最長公共子序列、01揹包問題、最小編輯代價)

動態規劃算法示例彙總-Java版組合硬幣Java解題—暴力搜索Java解題—記憶搜索Java解題—動態規劃(兩種寫法)跳臺階Java解題—暴力遞歸Java解題—動態規劃矩陣最小路徑和Java解題—動態規劃最長遞增子序列Java解題—動

原创 LeetCode-3.無重複字符的最長子串

題目 給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。 示例 1: 輸入: “abcabcbb” 輸出: 3 解釋: 因爲無重複字符的最長子串是 “abc”,所以其長度爲 3。 示例 2: 輸入: “bbbbb”

原创 劍指Offer-矩陣中的路徑

題目描述 請設計一個函數,用來判斷在一個矩陣中是否存在一條包含某字符串所有字符的路徑。路徑可以從矩陣中的任意一個格子開始,每一步可以在矩陣中向左,向右,向上,向下移動一個格子。如果一條路徑經過了矩陣中的某一個格子,則之後不能再次進入這

原创 劍指Offer-滑動窗口的最大值

題目描述 給定一個數組和滑動窗口的大小,找出所有滑動窗口裏數值的最大值。例如,如果輸入數組{2,3,4,2,6,2,5,1}及滑動窗口的大小3,那麼一共存在6個滑動窗口,他們的最大值分別爲{4,4,6,6,6,5}; 針對數組{2,3

原创 LeetCode-2.兩數相加

題目 給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,並且它們的每個節點只能存儲 一位 數字。 如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 您可以假設除了數字 0