原创 有重複字符串的排列組合

有重複字符串的排列組合。編寫一種方法,計算某字符串的所有排列組合。 示例1: 輸入:S = “qqe” 輸出:[“eqq”,“qeq”,“qqe”] 示例2: 輸入:S = “ab” 輸出:[“ab”, “ba”] 提示: 字符都

原创 算法之—冒泡排序

算法原理 冒泡排序算法的運作如下:(從後往前) 1 .比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 2 .對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 3

原创 BufferedInputStream和BufferedOutputStream過濾流的使用

從test.txt文件內容讀取出來 public class BuferedDemo { /** * @param args */ public static void main(String[] args) { //

原创 算法之—二分查找算法

二分查找算法是在有序數組中用到的較爲頻繁的一種算法,在未接觸二分查找算法時, 最通用的一種做法是,對數組進行遍歷,跟每個元素進行比較,其時間爲O(n). 但二分查找算法則更優,因爲其查找時間爲O(lgn)。 舉例說明:例如lis

原创 Java中collection和collections的區別

今天翻看Java筆試題,發現有這樣問題,比較Collection 和Collections的區別。在這裏把二者區別記錄下來。   1、java.util.Collection 是一個集合接口。它提供了對集合對象進行基本操作的通用接口

原创 用斐波那契數列來說明遞歸和迭代的區別

遞歸:自己調用自己 迭代:反覆替換的意思 遞歸與迭代都是基於控制結構:迭代用重複結構,而遞歸用選擇結構。 遞歸與迭代都涉及重複:迭代顯式使用重複結構,而遞歸通過重複函數調用實現重複。 遞歸與迭代都涉及終止測試:迭代在循環條件失敗時終止,遞

原创 leetcode 08.02. 迷路的機器人

1、題目 設想有個機器人坐在一個網格的左上角,網格 r 行 c 列。機器人只能向下或向右移動,但不能走到一些被禁止的網格(有障礙物)。設計一種算法,尋找機器人從左上角移動到右下角的路徑。 網格中的障礙物和空位置分別用 1 和

原创 LeetCode 08.04 冪集

1、題目 冪集。編寫一種方法,返回某集合的所有子集。集合中不包含重複的元素。 說明:解集不能包含重複的子集。 示例:  輸入: nums = [1,2,3]  輸出: [   [3],   [1],   [2],   [1,2,3],

原创 返回倒數第 k 個節點

1、題目 實現一種算法,找出單向鏈表中倒數第 k 個節點。返回該節點的值。 示例: 輸入: 1->2->3->4->5 和 k = 2 輸出: 4 說明: 給定的 k 保證是有效的。 2、解題思路 先讓第一個指針走k步即可,然

原创 LeetCode 面試題 01.05. 一次編輯

LeetCode 面試題 01.05. 一次編輯 題目如下: 字符串有三種編輯操作:插入一個字符、刪除一個字符或者替換一個字符。 給定兩個字符串,編寫一個函數判定它們是否只需要一次(或者零次)編輯。 示例 1: 輸入: fir

原创 java線程通信-生產者消費者

1 調用wait()方法可以讓線程等待,並釋放對象鎖,直到interrupt()方法中斷它或者另一個線程調用notify()或者notify()All喚醒 2.wait()方法可以帶個參數,此時不需要喚醒 3.調用notify()方法可以

原创 鏈表中的一些算法,Java實現

public class ListNode { /** * @param args * 聲明一個鏈表 */ private int data; private ListNode next; public List

原创 java中synchronized,線程同步

一、.線程同步 Java使用監控器(也稱對象鎖)實現同步。每個對象都有一個監控器,使用監控器可以保證一次允許一個線程執行對象的同步語句。即在對象的同步語句執行完畢之前,其他試圖執行當前對象的同步語句的線程都將處於阻塞狀態,只有線程在當前對

原创 R樹:處理空間存儲問題

轉自大神的博客:http://blog.csdn.net/v_JULY_v/article/details/6530142/ R樹:處理空間存儲問題 相信經過上面第一節的介紹,你已經對B樹或者B+樹有所瞭解。這種樹可以非常好的處理一維

原创 《機器學習實戰》—決策樹

1 決策樹的構造 在構造決策樹之前,我們需要解決的第一個問題就是當前數據集上哪個特徵在劃分數據集上起決定性作用。爲了劃分出最好的效果,我們必須評估每個特徵。 一般的劃分數據採用二分法,而本文采用ID3算法劃分數據集 上面的表包含了