原创 兩個單向鏈表,存在同一個元素,求其交點

假設兩個鏈表分別爲 a 、b , 長度分別爲 m 、n 這個題目最首先想到的可能是:  先循環遍歷其中鏈表a,然後在該循環中遍歷鏈表b,然後判斷兩個鏈表的節點是否相同, 假設a的長度爲m,b的長度爲n, 那麼該算法的複雜度爲O(mn)

原创 求兩個大整數相乘的結果 不能使用BigInteger和long

提示:  1、 兩個數相乘的值的位數不會超過兩者位數之和  2、char轉換成int時,直接用int接受的值爲asiic碼值, 可以使用Character.getNumericValue(‘3’) 獲取實際數值  3、乘數 * 被乘數  

原创 超快的虛擬機-Genymotion

一直以來都是用自己的手機調試app,可憐的手機被我折騰了1年多,最近才發現Genymotion 虛擬機,相見恨晚啊! 今天安裝使用了 發現這速度簡直KO原生的啊! 使用步驟: 1、  下載Genymotion ,https://www.

原创 VitualBox安裝Ubuntu14.4.2

1、先下載ubuntu14.4.2 的iso鏡像文件, 我下的是64位系統 http://www.ubuntu.org.cn/download/ubuntu-kylin-zh-CN 2、 在虛擬集中創建ubuntu系統,選擇64位,配置

原创 OO基本原則

回顧設計模式的相關知識,首先是面向對象的基本原則: 1、單一職責 一個類應該最多只能有一個因素能夠給導致其變化,類中的方法應該都是相關性很高的,即“高內聚” 2、里氏替換       利用多態特性,父類作用的地方可以使用其任意子類替代,

原创 Textview 鏈接處理

1、讓Textview自動識別鏈接並且做默認跳轉 contentText.setText("www.baidu.com"); contentText.setAutoLinkMask(Linkify.ALL); contentText.s

原创 如何對n個數進行排序,要求時間複雜度O(n),空間複雜度O(1)

咋一看會覺得沒有辦法實現,因爲所有的排序方法都無法滿足該時間複雜度o(n)和空間複雜度o(1)。 但是如果n是有限的,其實是有辦法可解的:假設n 沒有超過int的最大值 ,0<n<65536 這裏我們暫時不考慮爲負數的情況(負數也可解)。

原创 單例模式

單例模式 簡單的可以理解在系統中只存在一個實例對象 適用場合: 一個對象需要頻繁創建和銷燬   對象創建需要消耗一定的資源 一個對象即可滿足需要 單例模式優點: 節約內存,提高性能,避免了大對象頻繁創建的消耗 單例模式缺點:   不符合開