麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Leetcode 467 - Unique Substrings in Wraparound String(暴力)

2019-11-14 10:51:56
字體:
來源:轉載
供稿:網友

題意

我們有一個串s,是由abcdefg…z循環連接而成的, 給出一個字符串p,求p得所有子串在s中出現的次數。

思路

最初的想法是用d[i,j]來表示:p中的第i位,是一個j連續的串的出現次數和,但是這樣會算重,比如我們的”cac”,里面c會被重復統計兩次。

那么,我們就需要考慮如何避免算重。

假如我們的p中同時包含“abcd”和”bcd”,考慮”abcd”的子串:a, b, c, d, ab, bc, cd, abc, bcd, abcd。再考慮”bcd”的子串:b, c, d, bc, cd, bcd。明顯能夠發現”bcd”的子串是屬于”abcd”的子串的。即對于我們的每一個字母x,考慮以x結尾的連續字符串,只需要取最長的那一個來計算結果即可。

所以,我們用d[i]表示:以i結尾的滿足條件的字符串的統計次數。最后的結果為a - z的累計值。

代碼

class Solution {public: bool judge(char x, char y) { return (y == x + 1 || x - y == 25); } int findSubstringInWraPRoundString(string p) { int n = p.length(); if (n == 0) return 0; vector<int> d(30, 0); d[p[0] - 'a'] = 1; int len = 1; for (int i = 1; i < n; i++) { if (judge(p[i - 1], p[i])) len++; else len = 1; d[p[i] - 'a'] = max(d[p[i] - 'a'], len); } int res = 0; for (int i = 0; i < 26; i++) res += d[i]; return res; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色网址免费在线 | 久久久噜噜噜久久熟有声小说 | 成人不卡 | 成人一级免费视频 | 男女无套免费视频 | 龙的两根好大拔不出去h | 污视频在线免费播放 | 天天躁狠狠躁夜躁2020挡不住 | 久久精品一区二区三区四区五区 | 日韩伦理电影免费观看 | 一区二区久久精品66国产精品 | 国产精品午夜一区 | 日日草夜夜草 | 中文字幕精品在线视频 | 欧美精品成人一区二区在线观看 | 亚洲一区二区三区日本久久九 | 九九热欧美 | 中文字幕1区2区 | 高清国产免费 | av日韩一区二区 | 成人午夜精品久久久久久久3d | 久久精片 | 国产精品久久久久久久久久iiiii | 久久精品一二三区白丝高潮 | 91久久久久久 | 一起草av在线 | 国产高清自拍一区 | 国产精品久久久久久久久久尿 | av在线播放电影 | 亚洲码无人客一区二区三区 | 国产午夜精品久久久久久免费视 | 日韩精品a在线观看 | 黄色成人短视频 | 国产交换3p国产精品 | 性生活视频软件 | 日本黄色一级视频 | 欧美一区二区黄色 | 免费观看国产精品视频 | 日韩毛片网| 中文字幕网站在线 | www国产免费 |