背景:假設有字串 s 跟比較對象 pattern,檢查是否有 pattern 存在於 s。
目的:字串匹配時,暴力法會是每個字元 s[i] 作為起始點來看是否為 pattern,這樣的時間複雜度是 O(n*m)。
KMP 演算法藉由陣列 next 儲存 pattern 本身的「最長共同前後綴 (prefix/postfix)」來節省每次都要從頭匹配的 bottleneck,達成 O(n) 的複雜度。
我的學習紀錄。
背景:假設有字串 s 跟比較對象 pattern,檢查是否有 pattern 存在於 s。
目的:字串匹配時,暴力法會是每個字元 s[i] 作為起始點來看是否為 pattern,這樣的時間複雜度是 O(n*m)。
KMP 演算法藉由陣列 next 儲存 pattern 本身的「最長共同前後綴 (prefix/postfix)」來節省每次都要從頭匹配的 bottleneck,達成 O(n) 的複雜度。
-- SELECT ...
GROUP BY 的規則當你使用 GROUP BY 時:
SELECT 中的欄位 只能是:
GROUP BY 裡的欄位
聚合函數(COUNT, SUM, MAX...)
MIN() 和 MAX() 是 聚合函數,不能放在 WHERE
聚合函數要在 GROUP BY 後 使用,所以應該放在 HAVING 子句
動規五部曲分別為:
1. 確定dp數組(dp table)以及下標的含義
2. 確定遞推公式
3. dp數組如何初始化
4. 確定遍歷順序
5. 舉例推導dp數組
(from 代碼隨想錄)
動規五部曲分別為:
1. 確定dp數組(dp table)以及下標的含義
2. 確定遞推公式
3. dp數組如何初始化
4. 確定遍歷順序
5. 舉例推導dp數組
(from 代碼隨想錄)
動規五部曲分別為:
1. 確定dp數組(dp table)以及下標的含義
2. 確定遞推公式
3. dp數組如何初始化
4. 確定遍歷順序
5. 舉例推導dp數組
(from 代碼隨想錄)
動規五部曲分別為:
1. 確定dp數組(dp table)以及下標的含義
2. 確定遞推公式
3. dp數組如何初始化
4. 確定遍歷順序
5. 舉例推導dp數組
(from 代碼隨想錄)
動規五部曲分別為:
1. 確定dp數組(dp table)以及下標的含義
2. 確定遞推公式
3. dp數組如何初始化
4. 確定遍歷順序
5. 舉例推導dp數組
(from 代碼隨想錄)
動規五部曲分別為:
1. 確定dp數組(dp table)以及下標的含義
2. 確定遞推公式
3. dp數組如何初始化
4. 確定遍歷順序
5. 舉例推導dp數組
(from 代碼隨想錄)
有時手上的 GPU memory 不夠跑模型,舉例:eva-clip-8b,可以使用 accelerate 將部分參數 offload 到 CPU 上。
https://github.com/baaivision/EVA/issues/147
https://blog.csdn.net/qq_42363032/article/details/139597486
https://stackoverflow.com/questions/65037368/remove-downloaded-tensorflow-and-pytorchhugging-face-models
pip install huggingface_hub["cli"]