第 228 場周賽記錄(490 2483

2021-10-19 10:33:49 字數 915 閱讀 5408

這題其實還是慢了, 應該1分鐘能搞定, 因為資料量很小,所以可以直接考慮2個for迴圈驗證0101 和1010這2種情況的數量, 都不用再去做什麼推斷之類的。。

這題也很簡單, 其實只要知道乙個 aaaa裡包含多少個同構字串即可

當時竟然算錯了。。

應該直接用土方法算1個簡單的aaaa裡包含多少個,算出來就可以

4個a加上3個aa加上2個aaa加上1個aaaa, 等於4+3+2+1=10

後面都好辦了,按理應該5分鐘搞定。

這裡是求乙個值, 而最終狀態的個數是特定的(即拆分成xx個)

當時想了幾個搜尋或者動態規劃,發現都不好做,狀態不好維護。

這時候應該早點想到, 如果這個值我取得大了,那可能拆分次數就會沒用完, 取得小了,拆分次數可能不夠用,因此能聯想到二分。

即如下原則:

如果讓你求乙個值, 這個值過大時,往後肯定都是不行, 值過小時,往前肯定也都是不行的話, 那麼就可以考慮使用二分

這題不需要任何演算法,就是自己的題意理解還不夠快。 正常應該5分鐘想明白,5分鐘寫完, 這樣應該能進前300

LeetCode第228場周賽

考慮兩種最終情況,乙個字串,要想構造成 交替二進位制 一種是0開頭,一種是1開頭,和下標聯絡起來,即奇數下標放奇數偶數下標放偶數和奇數下標放偶數偶數下標放奇數。這是兩個最終狀態,遍歷字串,向兩種最終狀態進行改變,記錄改變的次數,取兩個次數的最小值即可。class solution else 奇數下標...

Leetcode 第 228 場周賽 賽後總結

這裡t1 根據題意,符合題目要求的只有兩種字串 0101010 或1010101 因此,我們可以直接構造這兩種字串並比較與原串的差異即可。附上 對於t2,我們可以考慮用數學方法處理。即統計每乙個連續的相同的子串長度,並用求和公式求出值。由於t3資料較為龐大,我們考慮用二分法進行求解。如下 本題實際上...

LeetCode周賽記錄 第196場周賽

2020年7月5日,leetcode第196場周賽個人記錄。第一次參加leetcode周賽,4道題目完成3道,中國排名163,全球排名377。對我個人來說算是個普通成績吧。以後打算每兩周參加一次周賽,同時利用部落格記錄下每次的成績,同時分享一下對於題目的個人想法和感受。給你乙個數字陣列 arr 如果...