#include #include #define maxline 4096
int is_str_has_same_char(const char *str)
int get_max_no_same_sub_str(const char *str, char *result)
memset(temp, 0x00, maxline);
} }return -1;
}int main(int argc, char *argv)
printf("not found\n");
return -1;
}
測試結果如下:
cheny@cheny-laptop:~$ ./get_max_no_same_sub_str abcabcdd
result = abcd
cheny@cheny-laptop:~$ ./get_max_no_same_sub_str aaaaa
result = a
這個問題可以分為兩個小問題來解決:
(1)字串分割,即分割出字串的所有子串,長度由大到小的分割。
(2)確認分割出來的子串中判斷是否有重複的字元,這個建立了乙個256長度的陣列,下標表示字元的值,值表示字元的數目,這個演算法在字元統計裡面算乙個比較巧妙的實現,一旦沒有重複的字元則立即終止運算,因為子串是由長到短的分割,所以當前子串即為最長不重複子串。
寫的不好請大家指正,謝謝了!
(程式設計師面試題)字串處理之獲取字串的所有子串
include include include define maxline 4096 void get all sub str const char str,char result int main int argc,char argv return 0 執行結果如下 cheny cheny la...
字串處理面試題 字串包含問題
為了準備面試中出現的字串問題,我決定做乙個系列,以我自己的標準,將自己認為比較優秀的字串面試題整理一些。希望這樣做能夠形成解決字串問題的一般思路,能夠比較高效地解決字串問題。這個問題是看了 感謝 v july v 問題描述 有兩個任意字串sting a,sting b,實現如下函式 int cont...
程式設計師面試題精選100題 字串的排列 演算法
題目 輸入乙個字串,列印出該字串中字元的所有排列。例如輸入字串 abc,則輸出由字元a b c所能排列出來的所有字串 abc acb bac bca cab和 cba。分析 這是一道很好的考查對遞迴理解的程式設計題,因此在過去一年中頻繁出現在各大公司的面試 筆試題中。我們以三個字元abc為例來分析一...