刷題日記系列之4月的最後一天

2021-10-05 15:48:20 字數 1550 閱讀 5008

如果乙個數,比如25,迴圈求他的每一位的平方和。最終等於1的。為快樂數。

發現大的數,他的各位平方的和是變小。直到3位數。會被困在迴圈中。

題目則變為了檢測迴圈。

可以用迴圈鍊錶,可以用set儲存值來判斷迴圈。

給定乙個陣列,陣列的值為各兵的得分,只有當ia[j]>a[k]時,為有效的作戰單位。

各兵可以重複使用。

求有效作戰單位的個數。

使用動態規劃。dp1[i]表示 i 索引前得分比 i 索引高的。

dp2[i] 表示 i 索引前得分比i索引低的。

res是每次找到比他小的所有的 j 讓res+=dp[j]

使用的乙個hashmap儲存key-》value

乙個hashmap儲存value-> node

node 的結構是

class node
使用乙個val為0 的head,val為0的tail儲存結尾與開頭。

head不儲存資料,為了後面插入刪除更方便。

這個**很麻煩,技術不精寫了乙個小時,改bug改了乙個小時。

加了注釋的,貼在後面

class allone 

/** inserts a new key with value 1. or increments an existing key by 1. */

public void inc(string key)

}//包含這個點

else

else now.keys.remove(key);

//v+1的結點

//包含v+1的結點

if(map2.containskey(v+1))

//不包含

else }}

/** decrements an existing key by 1. if key's value is 1, remove it from the data structure. */

public void dec(string key)

else

}//map的值--

else else now.keys.remove(key);

//接下來處理新建乙個v--的結點

if(map2.containskey(v-1))

map2.get(v-1).keys.add(key);

else }}

/** returns one of the keys with maximal value. */

public string getminkey()

/** returns one of the keys with minimal value. */

public string getmaxkey()

class linkednode

@override

public string tostring()

}}

寫在2月的最後一天

2月的最後一天,python的基礎語法,斷斷續續的還是沒有學完。演算法導論,還差一點,也沒看完。上班之後體脂就像脫韁的馬一樣,一路狂飆,只有每天鍛鍊半小時以上,才敢安然入睡。尤克里裡才開始學,左手手指已經練出了三個泡。書法依然達不到形神自如的境界 買了田蘊章的和文徵明的字,加上原有的歐陽詢,三本字帖...

C 獲取周的第一天 最後一天 月第一天和最後一天

獲取指定日期所在周的最後一天,星期天為最後一天 public static datetime getdatetimeweeklastdaysun datetime datetime catch return lastweekday 獲取指定日期的月份第一天 public static datetim...

sql 語句 日期所在月的第一天,最後一天

2010 08 10 11 17 星期二 月初 月末 sql 語句 日期所在月的第一天,最後一天 select dateadd month,datediff month,1900 01 01 bizdatefrom 1900 01 01 指定日期第一天 select dateadd month,da...