2 最長回文子串
1.1 暴力法
以第乙個為基準,取其字首,與其他字串依次比較,如果全部相同,就更新res。res指向公共字首的末尾。
var
longestcommonprefix
=function
(strs)}if
(flag) res = i
}return strs[0]
.slice(0
, res+1)
};
1.2 分治法var
longestcommonprefix
=function
(strs)
;// 分治
vargetcommonprefix
=function
(strs, left, right)
;// 合併
varcomparetwo
=function
(left, right)
}return left.
slice(0
, len)
}
2.1 暴力法var
longestpalindrome
=function
(s)}
}// 如果找不到 就返回最長第乙個
return max ===
''? s.
charat(0
):max};
varishuiwen
=function
(s) i++
j--}return
true
}
手撕演算法 adaboost
adaboost是典型的boosting演算法。boosting演算法的核心思想是 上乙個模型對單個樣本 的結果越差,下個模型越重視這個樣本 增大該樣本的權重,加大模型 錯的成本 提公升樹就是每個模型都是決策樹,提公升樹種效果比較好的是gbdt和xgboost,入門是adaboost。adaboos...
手撕演算法 PCA
pca,principle component analysis。lda,linear discriminant analysis 首先說一下pca和lda的區別,二者都是降維的方法,pca的主要思想是降維後各個樣本點的方差之和最大,也就是各個樣本點要盡量的區分開。而lda的思想是降維後同類的樣本要...
手撕LRU演算法
lru是least recently used的縮寫,即最近最少使用,是一種常用的頁面置換演算法,選擇最久未使用的頁面予以淘汰。lru是一種快取淘汰策略,它認為最近使用的資料就是有用的,最久沒使用的資料就是沒用的,所以在當容量滿了之後,會先淘汰掉最久沒使用的資料,騰出空間來放新資料。leetcode...