演算法寫得好,物件少不了,先來兩嚐嚐鮮

2022-07-13 21:51:41 字數 872 閱讀 1540

treemap是有序表,不是雜湊表

思路:

第一步:一次刪除兩個不同的數,沒有兩種數可刪就停

沒數剩下來,說明沒有水王數

第二步:有剩下來,再遍歷驗證是否是水王數,

步驟:

第乙個邏輯:如果無候選,當前數被立為候選,給它血量一或加一(血量不為零,此時進入第二個邏輯)

第二個邏輯:如果有候選,第一種情況:當前數和候選一樣,血量增加一

第二個情況:當前數和候選不一樣,血量減一

最終獲得候選(目的是為了刪掉兩個不同的數,即在第二個邏輯的第二個情況兩個數一起刪除)

思路步驟同上,一共就遍歷了兩輪選票

失敗情況

第一種:沒有剩下的票,選舉失敗

第二種:驗證階段,票數張數沒有超過一半,選舉失敗

方法一(暴力解法,沒分):

for(int l= 0;l <  n;l++){

for(int r= l;r <  n;r++){

方法二:(每個陣列位置結尾情況下的答案裡,最大的那個,再在最大的裡面挑乙個最大的)

求i結尾情況下所有子陣列的最優累加和

舉例

arr[-3,4],

根據下標[0,1,2,3,4]

dp[-3,1]

情況

第一種情況:arr[i]不擴,如dp[0] = arr[0],我就只含有我自己

第二種情況:dp[i-1] + arr[i]往左擴,擴的還是最好的

兩種情況裡選最大的

Github 的清點物件演算法

日期 2015年9月30日 github 的清點物件演算法 阮一峰的網路日誌 使用 github 的時候,你有沒有見過下面的提示?這段提示說,遠端 庫一共有4350078個物件需要轉殖。這就叫 清點物件 counting objects github需要實時計算出來,需要轉殖的物件總數。這個過程非常...

Java物件存活判定演算法

1 引用計數演算法 給物件新增乙個引用計數器,每當有乙個地方引用它時,計數器值就加1 當引用失效時,計數器值就減1 任何時刻計數器為0的物件就是不可能再被使用的。優點 實現簡單 判定效率也很高 缺點 它很難解決物件之間互相迴圈引用的問題。2 可達性分析演算法 這個演算法的基本思想就是通過一系列的稱為...

物件搜尋演算法挑戰

寫乙個 function方法,它遍歷乙個物件陣列 第乙個引數 並返回乙個包含相匹配的屬性 值對 第二個引數 的所有物件的陣列。如果返回的陣列中包含 source 物件的屬性 值對,那麼此物件的每乙個屬性 值對都必須存在於 collection 的物件中。例如,如果第乙個引數是 第二個引數是,那麼你必...