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

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Longest Substring Without Repeating Characters 字符串中最長的無重復子串長度

Longest Substring Without Repeating Characters 字符串中最長的無重復子串長度

來源:程序員人生   發布時間:2014-12-16 08:43:16 閱讀次數:3398次

Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest substring is "b", with the length of 1.


題目的意思是求字符串中最長的無重復子串長度,如上面的  abcabcbb    最長無重復子串為abc  長度為3

直接暴力法:代碼以下

class Solution { public: int lengthOfLongestSubstring(string s) { int i,j,temp,result=1; for(i=0;i<s.length();i++) { temp=1; for(j=0;j<s.length()-i;j++) { if(check(s,i,j)) temp++; else continue; } result=max(result,temp); } return result; } bool check(string s,int i,int j) { char ch=s[j]; for(int t=i;t<j;t++) { if(ch==s[t]) { return false; } } return true; } };

暴力法雖然簡單,但時間過不了,下面用1個復雜度為n的算法


思路:

用1個256位數組asc[](字符共有256個,包括128個擴大字符),字符串中每個字符的ASCII值對應當字符在數組中的位置

如字符a  在   asc[a]中的下標為97

初始化數組asc,令每個元素為⑴。定義start,start表示每次無重復字符串的其實點,初始值為0.從i=0開始遍歷字符串,如果數組asc中沒有出現該字符(asc[ch]==⑴),那末令asc[ch]==i,記錄下來該字符在字符串中的位置,接著遍歷,如果遇到asc[ch]!=⑴表示該字符已出現了,需要將start到j的asc數組中的元素抹掉。然后重置start,令start=max(asc[i]+1,start);然后將

最后結果為   result=max(result,i-start);

代碼以下:

<span style="font-size:18px;">class Solution { public: int lengthOfLongestSubstring(string s) { int result=0; int a[128]; int i,j,t,start=0; for(i=0;i<128;i++) a[i]=⑴; for(i=0;i<s.length();i++) { if(a[s[i]]!=⑴) { if(result<i-start) result=i-start; for(j=start;j<a[s[i]];j++) a[j]=⑴; start=max(start,a[s[i]]+1); // result=max(result,i-start); } a[s[i]]=i; } result=max(result,i-start); return result; } };</span>


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 无限国产资源 | 国产毛片一区二区 | 国产一级淫片视频免费看 | 日本乱性| 久久精品一区二区影院 | 免费一级肉体全黄毛片高清 | 欧美精品在线免费 | 欧美一区综合 | 手机看片福利视频 | 色拍自拍亚洲综合在线 | 欧美综合久久 | 国产综合免费视频 | 精品视频一区二区三区 | 午夜久久久久久网站 | 一区二区三区不卡在线 | 国产在线乱子伦一区二区 | h视频免费看 | 日韩国产片| 亚洲国产综合网 | 激情校园春色小说 | 久久综合久久综合久久 | 日韩欧美二区 | 天堂在线看 | 日韩精品手机在线 | 欧美人与动性视频在线观 | 天天做天天爱天天综合网 | 在线高清国产 | 国产成人啪一区二区 | 日本欧美久久久久免费播放网 | 最新中文字幕免费视频 | 国产日韩精品欧美一区视频 | 香蕉高清免费永久在线视频 | 欧美午夜视频在线观看 | 老司机亚洲精品影院在线 | 中国jizz18免费 | 超清高清欧美videos | 成年人网站免费视频 | 久久综合欧美 | 麻豆19禁国产青草精品 | 一区二区三区日韩精品 | 国产亚洲欧美日韩在线观看一区二区 |