原创 每日一道算法面試題(21):leecode26 刪除排序數組中的重複項

1.算法題目 給定一個排序數組,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。 不要使用額外的數組空間,你必須在 原地 修改輸入數組 並在使用 O(1) 額外空間的條件下完成。 示例 1: 給

原创 Android開發之獲取網絡IP地址方法總結

  在進行Android應用開發過程中,有時候會遇到獲取當前Android設備所使用的網絡IP地址的場景,有時候需要本地的網絡IP地址,即局域網地址,更多的時候是需要當前網絡的真實的對外IP地址,即真實的網絡地址,如大數據分析時往

原创 Java 單例模式實現方式及其優缺點——單例模式還可以這樣實現

單例模式三種初始化方法及其優缺點 一、常見單例模式實現方式   單例模式:顧名思義即確保一個類只有一個實例,而且自行實例化(私有構造方法)並向整個系統提供這個實例。   常見的單例模式有三種模式:懶漢式單例、餓漢式單例、靜態內部類

原创 Android進階學習之 EventBus 3.X.X使用總結

Android EventBus 3.X.X使用總結 EventBus 簡介   EventBus 是Android 發佈/訂閱事件總線,可簡化 Activities、Fragments、Threads、Services 等組件間

原创 每日一道算法面試題(5):leetcode5 最長迴文子串

題目:給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba" 也是一個有效答案。 示例 2: 輸入: "cbbd" 輸

原创 Android 性能優化之RecycleView的性能優化原則

Android 性能優化之RecycleView的性能優化 一、概述 RecyclerView有着極高的靈活性,能實現ListView、GridView的所有功能,也能輕鬆實現ListView、GridView不易實現的功能,如

原创 每日一道算法面試題(11):leecode220:存在重複元素 III

1.算法題目 給定一個整數數組,判斷數組中是否有兩個不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的絕對值最大爲 t,並且 i 和 j 之間的差的絕對值最大爲 ķ。 示例 1: 輸入: nums = [

原创 每日一道算法面試題(4):leetcode4 尋找兩個有序數組的中位數

題目:給定兩個大小爲 m 和 n 的有序數組 nums1 和 nums2。 請你找出這兩個有序數組的中位數,並且要求算法的時間複雜度爲 O(log(m + n))。 你可以假設 nums1 和 nums2 不會同時爲空。 示例 1

原创 每日一道算法面試題(9):leecode217:存在重複元素

1.算法題目 給定一個整數數組,判斷是否存在重複元素。 如果任何值在數組中出現至少兩次,函數返回 true。如果數組中每個元素都不相同,則返回 false。 示例 1: 輸入: [1,2,3,1] 輸出: true 示例 2:

原创 每日一道算法面試題(1):leetcode1兩數之和

算法在編程領域的重要性不言而喻,而且也是好多大廠面試經常要考覈的重點。 兩數之和 題目:給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那兩個整數,並返回他們的數組下標。 你可以假設每種輸入只

原创 Android 基礎開發之HandlerThread介紹

Android 基礎開發之HandlerThread介紹   HandlerThread的特點: HandlerThread本質上是一個線程類,它繼承了Thread; HandlerThread有自己的內部Looper對象,可以

原创 網絡編程之 TCP 建立連接的三次握手機制和關閉連接的四次揮手機制

一、TCP建立連接的三次握手機制 1.TCP 3次握手建立連接 建立TCP連接:在TCP/IP協議中,TCP協議提供可靠的連接服務,採用三次握手建立一個連接: 建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_

原创 Android應用/進程保活策略總結

Android 應用/進程保活策略總結 1.將Service設置爲前臺服務 思路:啓用前臺服務,主要是startForeground() 。 保活程度:一般情況下不被殺,部分定製ROM會在應用切到後臺即殺 ,會被 用戶手動殺進程(

原创 每日一道算法面試題(14):leecode19 刪除鏈表的倒數第N個節點

1.算法題目 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變爲 1->2->3->5. 說明: 給定

原创 每日一道算法面試題(16):leecode 560 和爲K的子數組

1.算法題目 給定一個整數數組和一個整數 k,你需要找到該數組中和爲 k 的連續的子數組的個數。 示例 1 : 輸入:nums = [1,1,1], k = 2 輸出: 2 , [1,1] 與 [1,1] 爲兩種不同的情況。 說