退役第一帖




今天在家困了一不小心睡多了結果晚上睡不着。


一、最長不重複子串

題目:找到一個沒有重複字符的子串。

題解:遍歷每個字符起始的子串。

大概就是一個數組loc[256]記錄最新的字符開始位置,然後一個數組max[256]存最長的子串,複雜度就是O(n+256)


二、N個數字找第k大

題解:1、選擇排序:遍歷一遍找第一大,遍歷一遍找第二大……O(nk)

2、快速排序:找一個基準,劃分成比它小的一堆,比它大的另一堆~全部排完……O(n log2 n)

3、找出k個數,建立一個小根堆。如果有新的數比堆頂小,拋棄。比堆頂大就換掉,然後更新堆。O(nlog2k)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章