原创 中、低層設計的一般方法

聚焦關注的問題設計解決問題的方法(流程)根據解決方法,劃分任務、職責將任務與職責分配到相關機構,或者創建新的機構以承擔(根據內聚原則判斷)

原创 畢業設計正在進行時……

當兩個系統互相引用的時候如何解耦? 將每個系統的耦合方向抽象出去作爲接口(解開) 建立中間系統,添加邏輯,入方向使用接口,出方向使用需要的東西(連接) 如此一來,整個系統內形成了兩種子系統:封閉系統和連接系統 封閉系統除了底層依賴,幾乎

原创 一句話摘錄(Java)

在對lock()的調用之後的代碼,必須放置try塊中,並且finally中帶有unlock()

原创 解最長不減子序列問題

問題描述 有一個序列A,求出其最長不減子序列C 算法1 (最長公共子序列法) 先將序列排序,得到不減序列B 然後求出A、B的最長公共子序列 如何求最長公共子序列? 算法2 (動態規劃) 先將問題劃分爲兩個層次 第一個層次 (宏觀) 1 對

原创 數列中和爲定值的所有組合

問題描述 輸入兩個整數 n 和 m,從數列1,2,3……n中隨意取幾個數,使其和等於 m ,要求將其中所有的可能組合列出來。 算法 設該算法爲f(m, n),返回一個數組集合r 則f(m, n-1)返回集合r1 且f(m-n, n-1)返

原创 棧的出棧順序數

問題描述 n個元素順序進棧,共有多少種出棧順序 答案 C(2n, n) / (n + 1) 參考 卡特蘭數(百度百科) 卡特蘭數(維基百科(英文))

原创 動態規劃解最長公共子序列問題

問題描述 一個序列A和一個序列B,求出最長公共子序列C 算法 記該算法爲f(A, B) 將序列A拆爲A’:x,x爲A的最後一個元素,A’爲A的剩餘部分序列 同理,B拆爲B’:y 若x = y,則C = f(A', B'):x 若x

原创 動態規劃思想

1 解決問題——分治 用有限的計算能力處理大規模問題的基本手段 1.1 遞歸 問題的解決方法包含遞歸部分和非遞歸部分,非遞歸部分解決問題的一部分,減少問題規模,而遞歸部分將形式不變,但減小了規模的問題傳遞到下一輪解決中去。這樣,每一輪處理

原创 找出過半定值數

問題描述 現在有一個長度爲n的數組a,裏面有超過一半的整數爲一個定值,在不用排序,不開闢新數組的情況下,用最快的算法找出來這個數 算法 設立一個計數器c,初值爲0設置一個佔領數z,初值爲null從頭順序掃描數組,對於每一個元素x 如果z

原创 Joseph環問題

問題描述 n個數字(0,1,…,n-1)形成一個圓圈,從數字0開始,每次從這個圓圈中刪除第m個數字(第一個爲當前數字本身,第二個爲當前數字的下一個數字)。當一個數字刪除後,從被刪除數字的下一個繼續刪除第m個數字。求出在這個圓圈中剩下的最後

原创 word如何管理引用(書目或文章)

切換到“引用”選項卡在“管理源”中管理引用在正文輸入引用的文字在文字後面點擊“插入引用”,並選擇引用源在最後一頁用於列舉所有引用的地方,點擊“書目“,並插入引用右擊插入的引用,更新引文和書目

原创 一句話摘錄(軟件工程)

如果一個類的成員變量超過7個,考慮是不是應該將它拆分成更小的類關於傳引用還是傳值,由於傳引用具有高效率,所以傾向於傳引用,但是牢記一個原則,要改變時先複製層層依賴,哪裏保證安全?每一層始終保證,如果底層安全,那麼對外安全。自己添加的不安全

原创 關於Activity生命週期的管理

分爲三個主要循環 onResume和onPause onStart和onStop onCreate和onDestroy 還有一個特殊的循環 onSaveInstanceState和onRestoreInstanceState onRes

原创 預裝win8的筆記本筆記本如何設置u盤啓動

進bios進bootlaunch csm選擇enabled進securitysecurity boot選擇disabled其他照舊

原创 洗牌 無重複隨機數 有限隨機分配問題

問題描述 1 將一個序列打亂 2 在一組元素中隨機不重複地選出幾個 3 將一定的資源m隨機分爲n份,每份最多分得x個 問題分析 以上三個問題的解法可以歸位一類,即隨機選數+排除 隨機選數使用數組效率高,但是排除似乎鏈表效率更高 但是實際上