程序员编程艺术第二章
生活随笔
收集整理的這篇文章主要介紹了
程序员编程艺术第二章
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一節、一道倆個字符串是否包含的問題
1.0、題目描述:
假設這有一個各種字母組成的字符串,假設這還有另外一個字符串,而且這個字符串里的字
母數相對少一些。從算法是講,什么方法能最快的查出所有小字符串里的字母在大字符串里
都有?
比如,如果是下面兩個字符串:
String 1: ABCDEFGHLMNOPQRS
String 2: DCGSRQPOM
答案是 true,所有在 string2 里的字母 string1 也都有。
如果是下面兩個字符串:
String 1: ABCDEFGHLMNOPQRS
String 2: DCGSRQPOZ
答案是 false,因為第二個字符串里的 Z 字母不在第一個字符串里。
一般的代碼思路:就是在長字符串中循環的查找是否存在短的字符串
代碼:
<span style="font-size:18px;">#include<iostream> #include<string> using namespace std; int comparestring(string longstring, string shortstring) {for (int i = 0; i < longstring.length(); i++){for (int j = 0; j < shortstring.length(); j++){if (longstring[i] == shortstring[j])break;}if (j == longstring.length()){cout << "false" << endl;return 0;}}cout << "true" << endl;return 1; } int main() {string longstring = "abcdefghigklmnopqrst";string shortstring = "defghigkl";comparestring(longstring, shortstring);return 0; }</span>
總結
以上是生活随笔為你收集整理的程序员编程艺术第二章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员编程艺术第一章(第二节)
- 下一篇: Matlab C混合编程