原创 Guava使用

1.java8中Optional的使用 /** * 學習Java8中的Optional使用方法 */ public class OptionalTest { @Test public void test() thr

原创 劍指offer 39 平衡二叉樹

題目描述 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。 思路 直接遞歸求出每個節點的左右子節點的最長路徑,然後比較是否滿足AVL樹的要求。 public class Solution { int judge=1; p

原创 Java多線程 面試題

三線程打印ABC public class JavaTest implements Runnable{ private String name; private Object prev; private Object self;

原创 劍指offer 37 數字在排序數組中出現的次數

題目描述 統計一個數字在排序數組中出現的次數。思路1.直接遍歷,太沒有挑戰性了。 2.二分查找確定該數,然後再二分查找確定比它小的數和二分查找比它大的數。相隔的距離就是該數的個數,但是要注意的是,比它小的最後一個數和比它大的第一個數。1

原创 劍指offer 66 機器人的運動範圍

題目描述 地上有一個m行和n列的方格。一個機器人從座標0,0的格子開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數位之和大於k的格子。 例如,當k爲18時,機器人能夠進入方格(35,37),因爲3+

原创 劍指offer 36 兩個鏈表的第一個公共結點

題目描述 輸入兩個鏈表,找出它們的第一個公共結點。 思路 由於在最後具有相同的節點,所以可先確定每個鏈表的長度,因爲在最後享有公共的節點,所以將節點鏈表設置爲一樣長度,然後從此開始遍歷,來確定第一個相同的節點。 /* public

原创 劍指offer 40 數組中只出現一次的數字

題目描述 一個整型數組裏除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。 思路 首先遍歷整個數組,運用stl中的map來標記已經走過的數,記爲ii+1,其中ii爲數組下標。那麼下次再次遇到,就將這兩個數

原创 lombok 使用技巧和說明

maven配置相關: <projectlombok.version>1.18.2</projectlombok.version> <dependency> <groupId>org.projectlomb

原创 劍指offer 65 矩陣中的路徑

題目描述 請設計一個函數,用來判斷在一個矩陣中是否存在一條包含某字符串所有字符的路徑。路徑可以從矩陣中的任意一個格子開始,每一步可以在矩陣中向左,向右,向上,向下移動一個格子。如果一條路徑經過了矩陣中的某一個格子,則該路徑不能再進入該

原创 劍指offer 38 二叉樹的深度

題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度爲樹的深度。 思路 直接遞歸。遍歷左右子樹,當遍歷到葉子節點的時候,取捨該節點的深度和最大的深度。 /* publ

原创 openmesh 用矩陣法映射到圓盤

#include<iostream> #include <OpenMesh\Core\IO\MeshIO.hh> #include <OpenMesh\Core\Mesh\TriMesh_ArrayKernelT.hh> #i

原创 Volley 實例DEMO

Volley 是 Google 推出的 Android 異步網絡請求框架和圖片加載框架。在 Google I/O 2013 大會上發佈。 Volley的優勢是:特別適合數據量小,通信頻繁的網絡操作。 Volley的主要特點是: 1.擴展性

原创 Handler,Looper,MessageQueue,ThreadLocal講解以及實例

Handler:是android消息機制的核心。一個線程可以有多個handler,但是只能有一個Looper和MessageQueue。handler是用來在線程間傳遞消息的。 而handler是發送消息以及傳遞消息的。在UI線程也是主線

原创 leetcode 574. 當選者

表: Candidate +-----+---------+ | id  | Name    | +-----+---------+ | 1   | A       | | 2   | B       | | 3   | C      

原创 leetcode mysql 178. 分數排名

# Write your MySQL query statement below select t1.Score, count(distinct t2.Score)+1 as Rank from Scores as t1 left j