原创 算法練習(42):Best Time to Buy and Sell Stock II

題意:給出一個數組,每個數代表當天股票的價格,有無數次買賣股票的機會,但是持有時不能買另一個。問最大收益。 分析與思路:這道題設計到波峯波谷的概念,有兩種思路。 1.可以每兩個相鄰的票價滿足有收益都買(貪婪算法) 2.只買最近的極小值,

原创 安卓筆記:字體加粗

安卓開發中如何給顯示的字體加粗 在xml佈局文件中: 加android:textStyle="bold"//中文顯示不可以粗體 在java代碼中: TextView v=(TextView)findViewById(R.id.mtext)

原创 安卓筆記:CardView的使用

CardView是繼承FrameLayout類的,也就是說相當於ConstrainLayout或者LinearLayout的位置 添加依賴:compile 'com.android.support:cardview-v7:21.+' 它的

原创 算法練習(32):Delete and Earn

題意:給出一個數組,定義一個操作,從中取一個數可以獲取數字表示的分數,然後要把與這個數字差的絕對值爲1的數都從數組中刪掉(意味着你再也得不到他們表示的分數) 分析與思路:這是一道很明顯的動態規劃題目,當然按照這個題意還不容易想出狀態轉移

原创 算法練習(30):Edit Distance

題意:兩個字符串的編輯距離就是使兩個字符串變得一樣的操作數,做操包括插入刪除替換。 分析與思路:這道題是一道典型的動態規劃題目,類似這種兩個字符串的動態規劃,一般都需要一個二維數組維護dp值。這裏我用dp[i][j]表示第一個字符串的前

原创 NP完全性證明

NP-complete的問題就是說這個問題既是NP又是NP-hard。 NP-complete的問題就是難以在多項式時間內解決的問題。 因此,當對於一個問題不會解決時,能證明它是NP完全問題,那麼不會做也無可厚非了。 如何證明一個問題的N

原创 算法練習(33):Minimum ASCII Delete Sum for Two Strings

題意:給出兩個字符串,通過刪除字符來使兩個字符串相同,刪除一個字符的耗費是這個字符的ASCII值,找出最小的耗費 分析與思路:這道題也是一道動態規劃題目,可以說是edit distance這道題的簡化版,edit distance的操作

原创 算法練習(31):最小和

題意:給出一個數組,相鄰兩個數至少選一個,求選出的數的和最小值。 分析與思路:一個個數字的選,很容易然我想起用動態規劃的方法來做,首先想到dp[i]代表考慮前i個數字時的最小和,但是又不能考慮到第i個數是否已經選,因爲這涉及到我i+1時

原创 安卓筆記:限制行數顯示,限制字數顯示,多餘部分省略號表示

限制行數: android:maxLines="3"//最多三行 android:singleLine="true"//只有一行 限制字數: android:maxLength="10"//最多十個字符 多餘部分用省略號表示: andro

原创 安卓開發(4):ListView的使用,arrayAdapter,simpleAdapter

ListView是安卓裏面一個比較實用的部件,是安卓列表形式展示每一項內容,類似於微信的會話列表吧。 在佈局裏的用法比較簡單: 這樣劇創建了一個空的列表,然後要在.java中填充數據。填充數據用到Adapter,常用的Adapter一般

原创 算法練習(34):Maximum Length of Pair Chain

題意:給出一個pair數組,求最長pair鏈,連接規則題目講的很清楚 思路與分析:這道題我是使用動態規則算法來做的,我是先對給出的pair排序,然後dp[i]記錄以第i個pair結尾的鏈條長度,所以我在遍歷的時候每次都遍歷一次0~i-1

原创 算法練習(35):House Robber

題意:給出一串數字,不能獲取相鄰的兩個,取了第一個就不能取第二個,想取第二個就不能取第一個。 思路與分析:這道題完全就是最小和的相反,用動態規劃,思路參見http://blog.csdn.net/kingsonying/article/

原创 安卓筆記:怎麼使用橫屏佈局界面

在AndroidManifest文件中加一行android:screenOrientation="landscape"就可以了 點贊 1 收藏 分享 文章舉報 KingsonLM

原创 算法練習(38):Best Time to Buy and Sell Stock with Transaction Fee

題意:給出一個股票多天的價格,可以有無數次成對的買入賣出,但每次有手續費。求所能獲得的最大利潤 思路與分析:這是一道動態規劃的問題,一共就有兩種狀態,當前持有股票以及沒有股票。我們可以用兩個變量(hold,cash)分別代表這兩個狀態下

原创 算法練習(36):Min Cost Climbing Stairs

題意:給出一個數組,可以從第0位或第1位開始出發,停在哪個位就要花費那個數字的消耗,停了一個位置可以往後跳一步或者兩步,問走完整個數組所需最小花費。 分析與思路:這道題跟上一道題是一樣的思路的,動態方程有點相反而已,由於問題規定最多隻能