日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > [LeetCode] 028. Implement strStr() (Easy) (C++/Python)

[LeetCode] 028. Implement strStr() (Easy) (C++/Python)

來源:程序員人生   發布時間:2015-03-20 08:36:29 閱讀次數:2438次

索引:[LeetCode] Leetcode 題解索引 (C++/Java/Python/Sql)
Github: https://github.com/illuz/leetcode


028. Implement strStr() (Easy)

鏈接

題目:https://oj.leetcode.com/problems/implement-strstr/
代碼(github):https://github.com/illuz/leetcode

題意

在1個字符串里找另外一個字符串在其中的位置。

分析

這題歸在 Easy 類是由于它 O(n*n) 的暴力能過。
如果數據強點就得 Midium 以上了。

  1. (C++) 這題的暴力 O(n^2) 就是兩遍 for 去找
  2. (C++) 還有各種高大上的算法,比如 KMP 算法,這是經典的了,具體實現見 我的另外一篇博客。
  3. (Python) 另外可以用 hash 去做,叫 rolling hash 算法(見 Wiki 和 StackOverflow),就是把字符串 hash 出來,按匹配串長度窗口去轉動,再去匹配。hash 字符串有很多種方法,這邊的字母好像都是小寫,有 26 個,所以就用 29 做基數(本來想像 djb2 算法用 33 做基數,可以直接 ((hash << 5) + hash) 很快,不過 int 范圍只能 hash 6 個字母而且 rolling 的時候還是要 /33,還是用 29 算了),超 int 范圍的話用 Python 就不用斟酌這個問題了。

其他還有 Boyer

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美视频导航 | 亚洲精品视频免费观看 | 亚洲一区二区av | 国产精品久久久久久久 | 国产成人综合一区二区三区 | 日韩欧美在线看 | 丰满少妇高潮惨叫久久久一 | 久久久久久91 | 超碰www| 亚洲淫片 | 国产精品国产三级国产aⅴ原创 | 日本一二三区视频在线 | 中文字幕不卡在线播放 | 俄罗斯精品一区二区三区 | 亚洲欧美日韩在线不卡 | 日韩黄网 | 玖玖色资源 | 国产黄色小视频 | 狠狠操综合网 | 国产二区三区 | 性免费视频 | 99国产精品99久久久久久 | www99| 久久久亚洲一区 | 又黄又免费的视频 | 久久99精品久久久久久 | 国产玖玖 | 成人免费在线观看 | 99精品久久久 | 九九热在线精品视频 | 成人在线免费毛片 | 日韩欧美精品一区 | a天堂在线 | 日本不卡在线播放 | 国产激情在线视频 | 黄色在线免费 | 99在线精品视频 | 色婷婷成人精品综合一区 | 五月天丁香社区 | 亚洲一区二区欧美 | 国产美女高潮 |