寫乙個函式,計算字串 s中最大連續相同的字元個數。例如,若s 為"aaabbbb",則返回值為4;若s為"abcde",則返回值為1。int max_same_char( char* s)
思路:思路很清晰,就是對字串的操作,先定義兩個指標p和q同時指向字串s,定義乙個計數器count和最大值max,指標p用來遍歷字串,指標q用於定位需要比較的字元,比如字串「aaabbbb」,指標p和q一開始指向字串首位址,也就是a,引用p和q來比較,if(*p==*q),若相同,count++,每次count++後都要比較和max的值(為了把最大值賦給max),p往後移(p++)繼續比較,,直到遇到不相同的字元,此時,count置為0,q重新從p的位置開始定位(即q要指向p),p繼續往後比,重複上述動作,直到遍歷完字串。
程式如下:
#include #include /* 求字串中最大連續相同的字元數 */
int max_same_char( char* s)
else //不相等則清空計數器,從不相同的位置繼續往後判斷
}return max;
}int main(int argc, char const *argv)
在ubuntu16.04下執行結果
字串(一) 字串Hash
今天開一手最不 tao 擅 yan 長的字串演算法 字串hash演算法。似乎提到字串的話,kmp應該是更為常見的一種,但是hash有它的優點,被犇們稱為 優雅的暴力 何謂hash?hash的中文稱為雜湊,這當然是音譯,直譯過來就是雜湊,或者也有叫預對映的。雜湊的作用就是通過某個特殊函式的對映,將任意...
第一字串 Trie Topology
bessie最近在玩字串。她發現通過改變字母的順序可以使一些字串排在其他所有的字串之前 按字典序從小到大排序 比如說,bessie找到了對於字串 omm moo mom 和 ommnom 她可以用標準的字母表把 mom 排在最前面,也可以用字母表 abcdefghijklonmpqrstuvwxyz...
演算法題(一) 字串
public static string submax string strarr else if max k system.out.println max return arrays.copyofrange strarr,start,end 1 給定兩個字串str1,str2。如果兩者字元種類和相...