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

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 《劍指offer》:[55]字符流中第一個不重復的字符

《劍指offer》:[55]字符流中第一個不重復的字符

來源:程序員人生   發布時間:2016-08-16 18:05:43 閱讀次數:2415次
題目:請實現1個函數用來找出字符流中第1個只出現1次的字符。例如,當從字符流中只讀出前兩個字符"go"時,第1個只出現1次的字符是"g"。當從該字符流中讀出前6個字符“google"時,第1個只出現1次的字符是"l"。 
   此題和[35]中找字符串中第1次出現1次的字符是類似的。所以詳細進程這里不再贅述。
方案1:順序掃描。時間復雜度O(N*N)+空間復雜度O(N)。順序掃描后,記錄每個字符出現的次數。然后順序掃描數組得到第1個次數為1對應的字符。
方案2:哈希表法。時間復雜度O(N)+空間復雜度0(N)-哈希表。前面講到的[35]中的的方法是:用哈希表記錄每個字符的次數,利用ASCII作為哈希表的鍵值,而把字符出現的次數作為哈希表的值。此題中也是用哈希表來記錄,ASCII作為哈希表的鍵值,把字符對應的位置,也可理解為下標作為哈希表的值。例如數組初始化為⑴,第1個出現的字符就是0,第2個出現就是1...1次類推,如果再次出現則設置為⑵,最后查找的時候,尋覓第1個等于0的數。
下面的代碼主要是用字符串來摹擬的字符流操作。
具體實現代碼為:
#include <iostream> using namespace std; int index=0; int Occurrence[256]; void ReSet() { for(int i=0;i<256;i++) Occurrence[i]=⑴; index=1; } void InSert(char *str) { while(*str!='\0') { if(Occurrence[*str]==⑴) Occurrence[*str]=index;//第1次出現; else if(Occurrence[*str]>=0) Occurrence[*str]=2;//在此出現; str++; } } char FirstApperance(char *str) { char ch='\0'; while(*str!='\0') { if(Occurrence[*str]==1) { ch=*str; return ch; } str++; } return ch; } int main() { char *strr[3]={"abcdabc","abcabc","abc"}; for(int i=0;i<3;i++) { ReSet(); InSert(strr[i]);//讀入字符; char result=FirstApperance(strr[i]); if(result !='\0') cout<<strr[i]<<": 第1次出現1次的字符是:"<<result<<endl; else cout<<strr[i]<<": 該字符串里沒有出現1次的字符!"<<endl; } system("pause"); return 0; }

運行結果:


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲综合一区二区三区四区 | 欧美成人h版在线观看 | 久久成人永久免费播放 | 国产成人十八黄网片 | 在线中文字幕精品第5页 | 亚洲国产精品视频 | 亚洲欧美偷拍另类 | 艾操网| 成人免费体验区福利云点播 | 欧美亚洲福利 | 真实呦女free性 | 精品视频久久久久 | 丁香五月好婷婷深深爱 | 看看免费a一片欧 | 亚洲欧美天堂综合久久 | 欧美日韩一级黄色片 | 麻豆19禁国产青草精品 | 国产精品毛片在线大全 | 欧美第一网站 | 成人中文字幕一区二区三区 | 国产精品久久免费 | 国产mv在线观看 | 尤物yw午夜国产精品视频 | www.黄色一片 | 国产男人女人做性全过程视频 | 天堂成人| 日韩亚洲欧美一区 | 欧美精品一区二区三区免费播放 | 毛片破处 | 性做久久久久久 | 欧美超清free videos | 成人免费一区二区三区在线观看 | 国产不卡高清 | 最近韩国中文字幕更新 | 亚洲天堂视频在线免费观看 | 欧洲美女a视频一级毛片 | 亚洲第一成年网 | 欧美毛片视频 | 欧美一区2区 | 国产亚洲欧美日韩综合综合二区 | 亚洲综合国产一区在线 |