原创 【算法】大廠常喜歡問的算法題

今天是 Kevin 的算法之路的第2天。爲大家講解 LeetCode 第 215 題,是一道中等難度的題目。其中的 Top K 解法大廠很喜歡考查。 每日一笑 哥們幾個逛街,看到電線杆子上有個重金求子的廣告,我問旁邊的馬力:“這

原创 【算法】優化算法的常用方法,你不會不知道吧?

今天是 Kevin 的算法之路100天征程的第3天。爲大家講解 LeetCode 第 307 題,是一道簡單難度的題目。 每日一笑 餐館裏一個廚師幫工姓蔡,其他人都習慣喊他小蔡,一天有幾個客人來喫飯,還沒有點菜就聽他們喊:“老闆

原创 源碼分析HashMap(JDK 7 & 8 整合對比)

HashMap筆記(JDK 1.7 & JDK 1.8) 內容參考自:(感謝作者,僅學習整合,如侵必刪) Java:手把手帶你源碼分析 HashMap 1.7 Java源碼分析:關於 HashMap 1.8 的重大更新 文章目錄H

原创 《算法撕裂者》01-手把手實現二叉堆

零、前言 (emm才發現這篇忘記發了=_=)上一篇我們學習了用堆實現優先隊列解決了經典的TopK問題,那這篇我就帶大家來手寫一個自己的堆吧。 一、二叉堆 我們首先來了解一下二叉堆。 二叉堆是一種特殊的堆,其實質是完全二叉樹(把元素

原创 《劍指offer》數組中只出現一次的數字III

題目描述 一個整型數組裏除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。 示例 : 輸入: [2,1,2,3,4,4] 輸出: [1],[3] 解題思路 解題思路源自“ridikuius”分析,感謝大

原创 《劍指offer》和爲S的連續正數序列

題目描述 小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和爲100(至少包括兩個數)。沒多久,他就得到另一組連續正數和爲100

原创 圖解:長度最小的子數組(LeetCode209)

種一棵樹最好的時間是十年前,其次是現在 ——Dambisa Moyo 今天開始記錄分享自己的算法學習之路,先定一個小目標,我先寫它個100天! 雖然我目前的水平和寫作都亟待提升,但是一天進步一點點我們就進步巨大! 希望我們一起

原创 《劍指offer》之字符串旋轉問題

最近做了幾道字符串旋轉的問題,發現其解決思路是一樣的,於是寫此文小結一下。 文章目錄1、左旋轉字符串題目描述解題思路2、右旋轉字符串(沒這道題,自己舉的hh)3、翻轉單詞順序列題目描述解題思路 1、左旋轉字符串 力扣鏈接 題目描述

原创 《算法撕裂者》02 - 推薦算法

推薦算法之協同過濾及其改進與實現前言協同過濾算法(1)基於用戶的協同過濾算法(2)基於物品的協同過濾算法改進的協同過濾算法(1)用戶相似度計算的改進(2)加權係數懲罰熱門物品具體實現1、請求入口2、推薦實現類(獲取最近K鄰居)3、

原创 《算法撕裂者》03 - 快速排序

文章目錄零、前言一、排序必學之快速排序二、性能分析及算法改進1、切換到插入排序2、三數取中3、三向切分三、總結 零、前言 這篇快速排序的文章其實之前就寫了,但是當時有個疑問就一直沒發,今天就把文章整理順便補充一下(我當時寫了兩種快

原创 MySQL索引數據結構與算法

MySQL索引數據結構與算法 文章目錄MySQL索引數據結構與算法1、索引2、索引結構二叉樹與紅黑樹的比較HASHB-TreeB+TreeMyISAM索引實現(非聚集)InnoDB索引實現(聚集) 1、索引 索引是幫助MySQL高

原创 《算法撕裂者》04 - 垃圾收集算法詳解

文章目錄五、垃圾收集(GC)算法0、java對象內存申請過程1、stop the world2、如何判斷對象是否“死去”?a、引用計數算法b、可達性分析算法c、再談引用3、標記-清除算法(Mark-Sweep)什麼是標記-清除算法

原创 《算法撕裂者》系列0 - TopK問題

文章目錄零、前言一、算法必學:經典的 Top K 問題二、很容易想到的方案之排序法三、分佈式思想處理海量數據四、最經典的方法之堆五、紙上得來終覺淺,絕知此事要躬行。1、LeetCode面試題--最小的 K 個數2、LeetCode

原创 《劍指offer》和爲S的兩個數字

題目描述 輸入一個遞增排序的數組和一個數字S,在數組中查找兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。 輸出描述: 對應每個測試案例,輸出兩個數,小的先輸出。 解題思路 關鍵信息:遞增排序,乘積

原创 超詳細講解“二分查找”,你看不懂算我笨!

二分查找有着查找速度快,平均性能好等優點,但僅當列表是有序的時候,二分查找才管用。面試比較常考,今天我們具體看一下二分查找。 0. 我們先從一個場景開始瞭解吧 有一天,小明心血來潮去圖書館借了N本書,結果出圖書館的時候,警報響了