原创 JAVA基礎知識總結2——異常、數組、字符串、包裝類

異常、數組、字符串、包裝類 1.異常:運行期出現的錯誤,觀察錯誤的名字和行號最重要 異常處理:try{可能出現異常的語句}catch(異常類型 對象){異常處理}             先逮小的異常,再逮大的異常           

原创 JAVA基礎知識總結3——常用類

常用類:Object Object類:  所有java類的根基(父)類 toString方法:屬於Object類裏面的方法,其功能爲返回對象的哈希code碼(對象地址字符串)                  public class

原创 用HashMap求最長子串

HashMap的底層數據結構和源碼分析見https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/HashMap.md 用HashMap實現滑動窗口,

原创 11. 跳錶 爲什麼Redis一定要用跳錶來實現有序集合

一、什麼是跳錶? 爲一個值有序的鏈表建立多級索引,比如每2個節點提取一個節點到上一級,我們把抽出來的那一級叫做索引或索引層。如下圖所示,其中down表示down指針,指向下一級節點。以此類推,對於節點數爲n的鏈表,大約可以建立log2n-

原创 A. Letter Combinations of a Phone Number

Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could repr

原创 19. 紅黑樹(上):爲什麼工程中都用紅黑樹這種二叉樹

我們依次講了樹、二叉樹、二叉查找樹。二叉查找樹是最常用的一種二叉樹,它支持快速插入、刪除、查找操作,各個操作的時間複雜度跟樹的高度成正比,理想情況下,時間複雜度是O(logn)。 不過,二叉查找樹在頻繁的動態更新過程中,可能會出現樹的高度

原创 求組合數:求n個數(1...n)中k個數的組合

如:combination(5,3) 要求輸出:543,542,541,532,531,521,432,431,421,321 遞歸,當k等於1的時候進行輸出, 當第一個數選的5,則從剩下的4321中選2個數,即combination(4

原创 13. 散列表(中):如何打造一個工業級水平的散列表

面試題目:如何設計一個工業級的散列函數? 思路: 何爲一個工業級的散列表?工業級的散列表應該具有哪些特性?結合學過的知識,我覺的應該有這樣的要求: 1.支持快速的查詢、插入、刪除操作; 2.內存佔用合理,不能浪費過多空間; 3.性能穩定

原创 JAVA基礎知識1——堆棧、引用傳遞、static、多態、繼承、接口

1.JVM(java虛擬機):     Java 編譯器會將java程序(高級語言)經過編譯會形成hello.class文件(字節碼文件),類加載到JVM裏面後,JVM讀取並處理class文件,執行引擎把字節碼轉爲可執行代碼(機器碼),執

原创 10. 二分查找(下) 二分查找的四種變形問題

一、四種常見的二分查找變形問題 1.查找第一個值等於給定值的元素 //查找a裏面第一個等於value的元素的位置 public static int bsearch2(int[] a, int n, int value)

原创 GC自動回收機制

2,GC簡單的瞭解   GC :Garbage Collections 字面意思是垃圾回收器,釋放垃圾佔用的空間。讓創建的對象不需要像c、c++那樣delete、free掉 。對於c、c++的開發人員來說內存是開發人員分配的,也就是說還要

原创 12. 散列表(上):Word文檔中的單詞拼寫檢查功能是如何實現的

一、散列表的由來? 1.散列表來源於數組,它藉助散列函數對數組這種數據結構進行擴展,利用的是數組支持按照下標隨機訪問元素的特性。 2.需要存儲在散列表中的數據我們稱爲鍵,將鍵轉化爲數組下標的方法稱爲散列函數,散列函數的計算結果稱爲散列值。

原创 9.排序(上) 如何用快排思想在O(n)內查找第K大元素

高快省的排序算法 有沒有既不浪費空間又可以快一點的排序算法呢?那就是“快速排序”啦!光聽這個名字是不是就覺得很高端呢。 假設我們現在對“6 1 2 7 9 3 4 5 10 8”這個10個數進行排序。首先在這個序列中隨便找一個數作爲基準數

原创 linux常用命令

ls 查看目錄中的文件 find / -name file1 從 '/' 開始進入根文件系統搜索文件 find /home/user -name \*.bin 在目錄 '/home/user' 中搜索帶有'.bin' 結尾的文件 進程查看

原创 數據結構的對比

數組和鏈表的優缺點,: 數組的內存空間是連續的,鏈表的內存結構是不連續的內存空間     數組:         優點:數組支持隨機訪問,根據下標隨機訪問的時間複雜度爲O(1),         缺點:         1)插入、刪除的