原创 劍指offer第6題 ,旋轉數組的最小值。

時間限制:3秒 空間限制:32768K 熱度指數:286326本題知識點: 查找題目描述把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5

原创 劍指offer第5題,用兩個棧實現隊列

時間限制:1秒 空間限制:32768K 熱度指數:210050本題知識點: 隊列 棧題目描述用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。這道題其實就是想讓我們用兩個棧的(先進後出) 來表示隊列的(先

原创 Android在子線創建Handler出現異常的原因及解決辦法

在日常的代碼編寫中,Handler主要是用來進行線程間通信的一種手段,或者說一種工具來使用,一般我們都會將handler寫在主線程中,然後開啓一個Thread,在裏面進行post或者sendMessage,將Message從Message

原创 利用遞歸和動態規劃解 劍指offer 第7,8,9題思路解析 (斐波那契額,跳臺階,變態跳臺階)

時間限制:1秒 空間限制:32768K 熱度指數:286711題目描述(斐波那契數列)大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。n<=39不知道斐波那契數列的同學可以看這裏啦:舉個例子:斐波那契數列:1

原创 劍指offer第三題,從尾到頭打印鏈表

時間限制:1秒 空間限制:32768K 熱度指數:474959本題知識點: 鏈表題目描述輸入一個鏈表,從尾到頭打印鏈表每個節點的值。第一種思路,我們可以使用遞歸,每一次遞歸都判斷下一個是否是空,如果是空就是尾部,然後添加到一個ArrayL

原创 劍指offer第四題,重構二叉樹

時間限制:1秒 空間限制:32768K 熱度指數:314202題目描述輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和

原创 劍指offer第二題,替換字符串中的空格(String,StringBuffer,StringBuilder區別)

時間限制:1秒 空間限制:32768K 熱度指數:539500本題知識點: 字符串代碼語言:JAVA題目描述請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20

原创 Java 單例設計模式的5種寫法及優缺點

單例設計模式的定義:保證在整個系統中,一個類只存在一個實例的設計模式就是單例設計模式。接地氣的講單例的好處就是可以少new對象,減少內存的垃圾,縮短GC(垃圾回收)的時間。Java中實現單例的5種方法 分別有 餓漢,懶漢,DCL,靜態內部

原创 劍指offer第一題 [二位數組的查找]

二維數組的查找時間限制:1秒 空間限制:32768K 熱度指數:622393本題知識點: 查找題目描述在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整

原创 Android Kotlin 學習總結(一) 《KAE 優缺點並且深入字節碼分析工作原理》

本章會分爲以下內容: 1.Kotlin KAE介紹,使用和原始Android findViewById對比優缺點 2.Kotlin KAE所存在的問題 3.通過字節碼分析他的實現原理 閱讀本章內容大概需要您5分鐘的時間   一、Kotli

原创 Java線程池的四種實現方法及實現原理及分析。

在閱讀了《Android開發進階,從小工到專家》的3.2.4.0~3.2.2.0 內容後啓發很大,所以寫了一篇博客總結一下關於線程池的部分內容。 0.首先什麼是線程池?線程池就是創建多個線程並且進行管理的容器。(線程池是個容器,可以創建線

原创 [踩坑記錄]一行代碼搞定RecyclerView 中CheckBox 重新繪製導致的數據混亂

  今天項目開發的時候,做類似於優惠券的功能,點擊優惠券,底部會彈出一個Dialog,Dialog裏面有一個RecyclerView,每個優惠券都會有一個CheckBox,可以多選,天真的我心想這有啥難得一會搞定!,結果咧,數據混亂的問題

原创 自定義View 仿閒魚底部圓形摁扭,已開源(暫無動畫)

前言:學了兩天自定義View興致比較高,之前學習都比較片面,這幾天學習的比較系統,也明白了很多東西例如自定義View的整體流程,自定義View要是用的一些類 ,比如Paint呀,TypedArray呀,MeasureSpec等等,都有了個

原创 劍指offer第11題 輸出一個數的二進制中1的個數

時間限制:1秒 空間限制:32768K 熱度指數:202239題目描述輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼錶示由於在計算機中的運算,都要轉變爲二進制數,所以我們在寫這道題的時候,沒有必要將其轉換爲二進制數(~ ̄▽ ̄)

原创 [總結]手動實現一個Binder來實現跨進程通訊

今天在學習任主席的Android藝術開發探索時學習到了Binder,特此在本文中做一下對於Binder的總結。首先我們爲什麼會使用Binder呢?在Android系統當中,進程與進程是不可以進行直接訪問的,這保證了Android進程的獨立