牛客題霸 最長公共字首 C 題解 答案

2022-05-05 12:21:10 字數 506 閱讀 3143

牛客題霸 [ 最長公共字首] c++題解/答案

編寫乙個函式來查詢字串陣列中的最長公共字首。

原本想暴力做,直接多層迴圈套,發現並不用

注意本題,給出了多組字串,求它們的最長公共字首,這可怎麼辦?

因為是最長公共字首,也就是所有字串都有

我們先將所有字串排序,越近的字串最長公共字首越多,反而越遠就越少

所以我們可以直接將排序後的第乙個字串和最後乙個字串對比

因為這兩個的公共字首應該是最少的,如果乙個字串s是他倆的公共字首,那相比也是其他的字首了,這樣我們就可以只對比兩組就實驗對比所有組情況

總結下:

就是將最不相同的兩個對比找相同,那找到的結果肯定也是滿足所有組的

class

solution

//if(i==a.size())return a;

return a.

substr(0

,i);}}

;

牛客題霸 求路徑 C 題解 答案

牛客題霸 求路徑 c 題解 答案 乙個機械人在m n大小的地圖的左上角 起點,下圖中的標記 start 的位置 機械人每次向下或向右移動。機械人要到達地圖的右下角。終點,下圖中的標記 finish 的位置 可以有多少種不同的路徑從起點走到終點?原本想遞迴做,發現複雜度過高 動態規劃做法 我們先設定邊...

牛客題霸 括號序列 C 題解 答案

牛客題霸 括號序列 c 題解 答案 給出乙個僅包含字元 和 的字串,判斷給出的字串是否是合法的括號序列 括號必須以正確的順序關閉,和 都是合法的括號序列,但 和 不合法。用棧來做 用棧來存每個符號的左邊,當出現符號右邊時,看棧的頂部是否為該符號的左邊,如果不能匹配則返回0,能匹配則將棧頂pop 全部...

牛客題霸 島嶼數量 C 題解 答案

牛客題霸 島嶼數量 c 題解 答案 給乙個01矩陣,1代表是陸地,0代表海洋,如果兩個1相鄰,那麼這兩個1屬於同乙個島。我們只考慮上下左右為相鄰。島嶼 相鄰陸地可以組成乙個島嶼 相鄰 上下左右 判斷島嶼個數。人傻了,調了半小時沒調出來。難倒是不難 其實就是dfs然後標記附近的島嶼,如果附近所有島嶼都...