原创 List和Set集合中iterator的fail-fast特性之區別

剛纔看到一個問題,關於List和Set集合中iterator的fail-fast特性 先上代碼: List集合: public class Test { public static void main(String[] args){

原创 不同的二叉查找樹

給出 n,問由 1...n 爲節點組成的不同的二叉查找樹有多少種? 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出n = 3,有5種不同形態的二叉查找樹: 1 3 3

原创 打劫房屋 III

在上次打劫完一條街道之後和一圈房屋之後,竊賊又發現了一個新的可以打劫的地方,但這次所有的房子組成的區域比較奇怪,聰明的竊賊考察地形之後,發現這次的地形是一顆二叉樹。與前兩次偷竊相似的是每個房子都存放着特定金額的錢。你面臨的唯一約束條件是

原创 python的萬物皆對象以及int深入

在python語言中,萬物皆對象,非常pure。不像java還有primitive data types這些非對象類型存在。 首先介紹一下is id ==這三個東西: 1、id(object) -> integer     Return

原创 java中的移位運算符

Java中移位操作符有三個:<<、>>、>>>,分別叫做左移位操作符、有符號右移位操作符、無符號右移操作符。 左位移操作符(<<):無論是有符號數還是無符號數,都低位補0。 有符號右移位操作符(>>):用符號擴展,爲正高位補0,爲負

原创 Timer和TimerTask總結

Timer:A facility for threads to schedule tasks for future execution in a background thread. Tasks may be scheduled for

原创 最長上升子序列

給定一個整數序列,找到最長上升子序列(LIS),返回LIS的長度。 您在真實的面試中是否遇到過這個題?  Yes 說明 最長上升子序列的定義: 最長上升子序列問題是在一個無序的給定序列中找到一個儘可能長的由低到高排列的

原创 java-finally詳解

今晚京東筆試,各種finally,有點迷糊,所以在這裏總結一下。 1、如果在try塊或者catch塊有System.exit(0),直接退出,不執行finally代碼塊 public class Main { void fun(){

原创 編輯距離

給出兩個單詞word1和word2,計算出將word1 轉換爲word2的最少操作次數。 你總共三種操作方法: 插入一個字符刪除一個字符替換一個字符 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出 work

原创 二叉樹的序列化和反序列化

設計一個算法,並編寫代碼來序列化和反序列化二叉樹。將樹寫入一個文件被稱爲“序列化”,讀取文件後重建同樣的二叉樹被稱爲“反序列化”。 如何反序列化或序列化二叉樹是沒有限制的,你只需要確保可以將二叉樹序列化爲一個字符串,並且可以將字符串反

原创 最大正方形

在一個二維01矩陣中找到全爲1的最大正方形 您在真實的面試中是否遇到過這個題?  Yes 樣例 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 返回 4 思路: 因爲是求正方形,

原创 BigInteger詳解

BigInteger:Immutable arbitrary-precision integers. All operations behave as if BigIntegers were represented in two's-co

原创 更新二進制位

給出兩個32位的整數N和M,以及兩個二進制位的位置i和j。寫一個方法來使得N中的第i到j位等於M(M會是N中從第i爲開始到第j位的子串) 樣例 給出N = (10000000000)2,M = (10101)2, i = 2, j =

原创 k數和

給定n個不同的正整數,整數k(k < = n)以及一個目標數字。     在這n個數裏面找出K個數,使得這K個數的和等於目標數字,求問有多少種方案? 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出[1,2,3

原创 不同的二叉查找樹 II

給出n,生成所有由1...n爲節點組成的不同的二叉查找樹 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出n = 3,生成所有5種不同形態的二叉查找樹: 1 3 3 2