原创 經典面試智力題200+題和解答

招聘時期到了,總少不了需要準備智力題。考來考去大多是各種舊題,本來是考智力的事情,現在幾乎已經變成了題海戰術的考試,所以我們也不能在這一塊落後。學習各種奇巧淫技,擴展一下思路,同時免得筆試面試吃虧。 蒐集了大量智力題,有些還挺有意思,

原创 非遞歸深度優先遍歷

非遞歸實現  (1)棧S初始化;visited[n]=0;  (2)訪問頂點v;visited[v]=1;頂點v入棧S  (3)while(棧S非空)             x=棧S的頂元素(不出棧);           

原创 Cocos2d-x繪圖API:DrawingPrimitives和DrawNode

1.概述 其實cocos2d-x封裝了大量的opengl的繪圖函數,我們可以很輕鬆的在遊戲中調用。但是實際上我們很少會這麼做,因爲編碼繪圖的方式效率實在太低了,尤其是諸如一些高階貝塞爾曲線之類的,官方也不建議這麼做,使用圖像能更有效的提

原创 Android性能優化總結

前言 性能優化本身是一個很大的主題,涵蓋程序的方方面面,任何不慎的操作,都有可能對性能造成比較大的影響,要知道程序的性能是可以累加的,多處的性能低下,會影響整體的性能,其後果可能也是多方面的,本文總結了目前工作中,所需要知道的大部分性能

原创 Dijkstra算法(單源最短路徑)

單源最短路徑問題,即在圖中求出給定頂點到其它任一頂點的最短路徑。在弄清楚如何求算單源最短路徑問題之前,必須弄清楚最短路徑的最優子結構性質。 一個問題的最優解包含其子問題的最優解,這個問題就具有最優解。例如:動態規劃和貪心算法具有最優子

原创 Android中的佈局優化方法

merge,ViewStub,include在佈局優化中的作用。 1、merge     顧名思義,就是合併、融合的意思。使用它可以有效的將某些符合條件的多餘的層級優化掉。使用merge的場合主要有兩處:     (1) 自定義V

原创 二分查找楊氏矩陣

楊氏矩陣中,每行元素是遞增的,每列元素也是遞增的。 採用二分查找法,時間複雜度爲O(max(m,n))。先將給定的值key與二維數組右上角的元素比較,若相等,則返回true,若key小於它,則最後一列的元素肯定都大於key,此時可以刪除掉

原创 AIDL——實現機制淺析

aidl是 Android Interface definition language的縮寫,它是一種進程通信接口的描述,通過sdk解釋器對器進行編譯,會把它編譯成java代碼在gen目錄下,類路徑與aidl文件的類路徑相同。   3

原创 用輾轉相除法求最小公倍數

因爲兩個數乘積=它們的最大公約數*它們的最小公倍數,輾轉相除法用來求它們的最大公約數,再用式子求最小公倍數

原创 求對稱子字符串的最大長度

題目:輸入一個字符串,輸出該字符串中對稱的子字符串的最大長度。比如輸入字符串“google”,由於該字符串裏最長的對稱子字符串是“goog”,因此輸出4。 分析:可能很多人都寫過判斷一個字符串是不是對稱的函數,這個題目可以看成是該函數

原创 海量數據處理面試題

何謂海量數據處理?    所謂海量數據處理,無非就是基於海量數據上的存儲、處理、操作。何謂海量,就是數據量太大,所以導致要麼是無法在較短時間內迅速解決,要麼是數據太大,導致無法一次性裝入內存。     那解決辦法呢?針對時間,我們可

原创 輸入一個整數n,求從1到n這n個整數的十進制表示中1出現的次數。

觀察規律: 從個位到最高位,我們判斷每一位1出現的次數。比如 對於數23, 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 20 2 1 22 23 個位爲1的數

原创 數對之差的最大值

題目:在數組中,數字減去它右邊的數字得到一個數對之差。求所有數對之差的最大值。例如在數組{2, 4, 1, 16, 7, 5, 11, 9}中,數對之差的最大值是11,是16減去5的結果。 分析:看到這個題目,很多人的第一反應是找到這個數

原创 八皇后問題(用排列來做)

題目:在8×8的國際象棋上擺放八個皇后,使其不能相互攻擊,即任意兩個皇后不得處在同一行、同一列或者同一對角斜線上。下圖中的每個黑色格子表示一個皇后,這就是一種符合條件的擺放方法。請求出總共有多少種擺法。