原创 Java基礎類庫概述

Java在它的基礎類庫中提供了很多非常有用,經典的工具類,作爲一個Java程序員,一定要對基礎類庫非常熟悉,否則不能算作是一個合格的Java程序員。 首先,如果對Java基礎類庫不熟悉,很可能會導致重複發明輪子,而且你發明出來的輪子不一定

原创 【字符串處理系列】最長迴文子串

這是一道非常經典的字符串處理問題,迴文是指該字符串是對稱的,如abcdcba, aabbaa 該問題最樸素的解法是找到所有子串,判斷是不是迴文並找出最長的迴文子串,代碼很簡單,這裏就不寫了; 第二種解法是中心點法,即以某個點爲中心,用兩個

原创 [LeetCode] Word Search

Word Search Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from lette

原创 TCP連接的建立與終止

建立連接 TCP是通過三次握手建立連接的,其過程如下: 1. 客戶端向服務器發送一個SYN報文段,該報文段不包含數據,SYN標誌被置爲1,同時指定源端口、目的端口、以及初始序列號(Client_ISN) 2. 服務器收到客戶端的SYN報文

原创 遞歸思想解決經典問題

遞歸是一個非常經典的算法思想,很多問題都可以採用遞歸來解決,特別是對於樹、字符串這類本身就具有遞歸性質的數據結構相關的問題,下面就列出幾個可以用遞歸來解決的經典問題: 1. 字符串排列問題(不包含相同字符) 該問題要求求出字符串的所有排列

原创 [LeetCode] Search in Rotated Sorted Array

LeetCode: https://oj.leetcode.com/problems/search-in-rotated-sorted-array/ 該問題要在一個旋轉的排序數組裏面尋找目標值,對於排好序的數組的查找問題,一般會想到二分

原创 Unix Socket編程簡介

閱讀本文需要對TCP有基本的瞭解,對TCP連接的建立、斷開,以及TCP運行過程中狀態轉換不瞭解的童鞋可以首先閱讀我的另一篇博客: http://bl

原创 Java深度拷貝

基本概念 淺拷貝:複製後對象的所有基本類型域的值與原對象相等,所有引用指向的對象和原對象指向的對象相同 深拷貝:複製後對象的所有基本類型的值與原對象相等,且其引用鏈上的所有對象都獲得了一份拷貝 依賴clone方法的深度拷貝 在Java的O

原创 [LeetCode]Combinations

LeetCode: https://oj.leetcode.com/problems/combinations/ 該題採用DFS的方法來解決,和Permutations,N-Queens的解決方式類似: 代碼如下: public cla

原创 [LeetCode] Word Ladder

Word Ladder Given two words (start and end), and a dictionary, find the length of shortest transformation sequence

原创 [LeetCode] Reverse Words in a String

原題:https://oj.leetcode.com/problems/reverse-words-in-a-string/ 題解:該題通過Java來解非常簡單,通過split函數按空格分隔即可,但是本題有很多陷阱;比如字符串收尾有空格,

原创 網絡IO總結

網絡IO的模式包括同步IO,異步IO,阻塞IO,非阻塞IO;這些IO模式之間的區別和聯繫是任何一個搞網絡編程(Socket編程)的人必須弄清楚的問題,下面我們就來一層層的揭開他們的面紗吧。在Unix網絡編程第一卷第六章中討論了五種IO模型

原创 進程間通信(IPC)

進程間通信的機制包括共享內存和消息傳遞系統兩大類。 共享內存 共享內存是指兩個相互協作的進程之間有重疊的地址空間,兩者都可以通過訪問這段地址空間來進行通信或協作;這種方式同樣適用於線程之間的通信,並且同一個進程的不同線程本身就共享堆內存。

原创 動態規劃解決經典問題

動態規劃的思想對於解決最優問題通常非常有效,用動態規劃解決的問題通常具備兩個基本特性:最優子結構和重複子問題;這兩個特性確保問題可以被切分爲更小的問題,在數學上的體現就是遞推式,所以假如一個問題的解決方案可以抽象爲一個遞推式,則該問題用動

原创 多路歸併排序

在數據結構的課程中,我們都學習過歸併排序,當時的歸併排序都是採用二路歸併的;但是在外部排序中,一般會採用多路歸併;因爲經典的二路歸併IO的次數要比多路歸併多很多,所以對算法的性能影響會很大;下面是筆者實現的一個多路歸併排序算法。 impo