LintCode(容易)55 比較字串

2021-07-15 10:23:04 字數 1586 閱讀 1645

需注意的點:

1.字串b中可能含有多個重複的大寫字母,則a中此大寫字母的個數至少要大於b中的個數。

目前的思路:

先把字串a中26個字母的個數統計出來,按序儲存在乙個string型a裡面,b同理,儲存在string型b裡面,然後直接比較a>b,true則包含。

主要錯誤點:(一些小錯點忽略)string a 應該為string a(26,』0』);

原因是:比如a(「abcdefg」),b(「acc」),則a就是(「111…」)26個1,b就是(」102000…「),就產生了判斷錯誤。

原因:這裡主要是

for (int i = 0; i < b.size(); i++)

中b[i] = b.size();沒有執行成功,於是我做了以下小實驗:

int main() 

}system("pause");

}

輸出結果:

改正:b[i] = b.size()+』0』;

原因:不能超過9,超過以後按ascii碼計算,但是後來我發現這個沒關係。

之前的思路的漏洞:

1.b有可能是空字串

2.a(「abcdefg」),b(「acc」),則a就是(「111…」)26個1,b就是(」102000…「),就產生了判斷錯誤。

改正:

for (int i = 0; i < b.size(); i++)//之前的小bug:iif (b[i] == '0') b[i] = a[i];

}

3.a(「abcdefg」),b(「bcc」),則a就是(「111…」)26個1,b就是(」002000…「),就產生了判斷錯誤。

所以又改動

for (int i = 0; i < b.size(); i++)

LintCode 55 比較字串

問題描述比較兩個字串a和b,確定a中是否包含b中所有的字元。字串a和b中的字元都是 大寫字母 注意事項 在 a 中出現的 b 字串裡的字元不需要連續或者有序。樣例 給出 a abcd b acd 返回 true 給出 a abcd b aabc 返回 false 問題分析根據樣例可知,要在a中找到b...

LintCode 容易)二進位制求和

class solution 計算多出的部位 for w 1 w if answer 0 0 0 return answer vc版見project 二進位制求和。總結 1.string裡面的是字元,輸出的時候可以正確輸出數值,但是當利用其中字元型數字計算時,用到的將是它的ascii碼,要想得到st...

5 5this關鍵字(二)

乙個類可以例項化出若干個物件,這些物件都可以呼叫類中提供的方法,n那麼對於當前正在訪問類中方法的物件就可以稱為當前物件,而this就可以描述出這種當前物件的概念。範例 觀察當前物件 public class eighteight a public class eighteight b 主類 com....