面試題 01 09 字串輪轉

2021-10-22 14:22:57 字數 732 閱讀 4981

我又要開始暴力了,字串長度在[0, 100000]範圍內的話o(n^2)應該能過

時間o(n^2) 空間 o(n)

/*

執行用時:48 ms, 在所有 c++ 提交中擊敗了8.40%的使用者

記憶體消耗:334.2 mb, 在所有 c++ 提交中擊敗了5.04%的使用者

*/class

solution

//不必判斷下面這個,否則兩個空字串就返回false了

// if(i == m)

// return false;

return s1.

substr(0

, i)

== s2.

substr

(m - i, i);}

};

其實有更簡便的方法,就是判斷s3 = s1 + s1裡是否包含s2

o(n^2) o(n)

/*

執行用時:4 ms, 在所有 c++ 提交中擊敗了91.01%的使用者

記憶體消耗:7.8 mb, 在所有 c++ 提交中擊敗了50.10%的使用者

*/class

solution

};

差不多得了,有個kmp的演算法時間複雜度更低但我,,,懶得看了啊啊啊啊

下次一定இ௰இ

面試題 01 09 字串輪轉

字串輪轉。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成 比如,waterbottle是erbottlewat旋轉後的字串 示例1 輸入 s1 waterbottle s2 erbottlewat 輸出 true 示例2 字串長度在 0,100000 範圍內。說明 你能只呼叫一次檢查子串...

面試題 01 09 字串輪轉

難度 簡單 字串輪轉。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成 比如,waterbottle是erbottlewat旋轉後的字串 示例1 輸入 s1 waterbottle s2 erbottlewat 輸出 true 示例2 輸入 s1 aa s2 aba 輸出 false 字串...

面試題 01 09 字串輪轉

字串輪轉。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成 比如,waterbottle是erbottlewat旋轉後的字串 示例1 輸入 s1 waterbottle s2 erbottlewat 輸出 true 示例2 字串長度在 0,100000 範圍內。1 class soluti...