多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

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

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

索引:[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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲aaaa级特黄毛片 | 国产码欧美日韩高清综合一区 | 性8成人有声小说在线播放 性freemovies中国群众 | 99久久久国产精品免费牛牛四川 | 久久婷婷五月综合色丁香 | 欧美一级爆毛片 | 欧美激情一区二区亚洲专区 | 在线观看麻豆国产精品 | 国产精品中文字幕在线 | 亚洲色网址| 亚洲成人国产精品 | 色尼玛亚洲综合 | 港台无码| 欧美日韩视频一区二区三区 | 欧美国产综合在线 | 国产精品久久久久久一区二区三区 | 国产日韩不卡免费精品视频 | 日韩精品免费 | 一本本久综合久久爱 | 日韩一级淫片 | 一级做性色a爰片久久毛片免费 | 深夜做爰性大片中文 | 欧美18性欧美丶黑吊 | 午夜影院在线观看免费 | 欧美精品一区二区在线观看 | 久久精品国产免费一区 | 国产欧美日韩综合一区二区三区 | 欧美精品 在线播放 | 亚洲无线乱码高清在线观看一区 | 亚洲一区二区三区四区 | 手机看福利 | 免费观看又污又黄网站日本 | 成人欧美一区二区三区在线 | 欧美国产中文 | 精品成人资源在线观看 | 牛站一级欧美大片 | 亚洲视频中文字幕在线 | 尤物视频免费观看 | 欧美一级久久久久久久大 | 日韩永久在线观看免费视频 | 国产福利片在线 |