551. 學生出勤記錄 i
描述:
思路:字串包含a的個數 和 是否包含「lll」
552. 學生出勤記錄 ii
描述:
思路:動態規劃。dp[0-n][0-1 a][0-1-2 l]。 狀態轉移根據題意分情況 新增p時候, 新增a的時候 l的時候。。
553. 最優除法
描述:
思路:題中說全部都是正整數,那麼第1個數就是被除數。後面的所有就是除數。(被除數最大,除數最小)。
554. 磚牆
描述:
思路:對於每個間隔進行統計。找到最小的就行。
556. 下乙個更大元素 iii
描述:
思路:轉換為字串,總後往前,通過單調棧找到突然變小的值,然後在後面找所有大的最小i的大於它的,交換,然後交換那個突然變小的地方的後面。
560. 和為k的子陣列
描述:
思路:字首和。hashmap.當出現某乙個字首和的時候,看這個字首和-k是否存在。
561. 陣列拆分 i
描述:
思路:排序。nums[i]+[i+2]+[i+4]...
564. 尋找最近的回文數
描述:
思路:保留前一半。然後前一半+1;前一半;前一半-1 分別考慮求距離。
565. 陣列巢狀
描述:
思路:遍歷。遍歷的時候需要設定乙個visited陣列,防止重複時間消耗。
567. 字串的排列
描述:思路:滑動視窗+hashset.
575. 分糖果
描述:思路:去重之後有多少種. 和 陣列的長度除以2. 的最小。
581. 最短無序連續子陣列
思路:從前往後,維護乙個max和r 當當前元素小於max的時候,證明當前元素應該在他前面,那麼這個下標就不是他本來的位置,那麼r就換成當前的座標,否則更新max的值保證max一直最大。同理從後往前更新min和l。
583. 兩個字串的刪除操作
描述:思路:兩個單詞的最長子序列。然後len1+len2-2*len(lcs)。 通過動態規劃求最長子序列。dp[i][j]當i==j.的時候,它等於dp[i-1]j-i]+1. 否則就是[i-1][j],[i]j-1的最大值,
592. 分數加減運算
描述:思路:通分。求分子分母。
593. 有效的正方形
描述:思路: 計算邊長和和對角線是否相等。
594. 最長和諧子串行
描述思路:hashmap儲存。然後對於hashmap中的某個元素看這個元素的+1的個數和自己的個數。
598. 範圍求和 ii
描述;思路:找到橫座標和縱座標最小的,然後返回次數。
599. 兩個列表的最小索引總和
描述:思路:hashmap《string,index》
600. 不含連續1的非負整數
描述:思路:判斷乙個數是否連續。將這個數和這個數右移後的樹進行 & 運算 看是否為0.
LeetCode刷題之551 學生出勤記錄 I
我不知道將去向何方,但我已在路上!示例 1 輸入 ppallp 輸出 true示例 2 輸入 ppalll 輸出 falseclass solution object defcheckrecord self,s type s str rtype bool i,j 0,0for k in range ...
LeetCode刷題總結
123 4567 891011 12 元素交換 swap a 1 a 3 sort排序 sort a.begin a.end 陣列顛倒 reverse a.begin a.end 陣列元素置為0 memset a,0,a.size 陣列取值 a.push back 定義二維陣列 vector vec...
LeetCode刷題總結
123 4567 891011 12 元素交換 swap a 1 a 3 sort排序 sort a.begin a.end 陣列顛倒 reverse a.begin a.end 陣列元素置為0 memset a,0,a.size 陣列取值 a.push back 定義二維陣列 vector vec...