Rolling-Hash
LeetCode 1147: Longest Chunked Palindrome Decomposition
·1 分鐘
LeetCode
Hard
Dynamic-Programming
Greedy
Two-Pointers
Rolling-Hash
String
LeetCode 1147 解題筆記:從兩端同時往內累積字串,左右一相等就切成一對;越早切越好,剩下的中間(如果有)算一塊
LeetCode 1461: Check If a String Contains All Binary Codes of Size K
·1 分鐘
LeetCode
Medium
Hash-Table
String
Bit-Manipulation
Rolling-Hash
LeetCode 1461 解題筆記:把所有長度 k 的子字串丟進集合,大小等於 2^k 就成立;最後一個起點是 len(s) - k
LeetCode 2156: Find Substring With Given Hash Value
·1 分鐘
LeetCode
Hard
Sliding-Window
Rolling-Hash
String
LeetCode 2156 解題筆記:雜湊的第一個字元乘 p^0,從右往左滑動時只要乘 p 再加新字元、扣掉 p^k 倍的出去字元,不需要除法;modulo 不一定是質數,不能用模反元素