1.string庫(kù)提供了 >、<、==、>=、<=、!= 等比較運(yùn)算符,比如兩個(gè)字符串s和t,直接(s==t)是正確的。
2.unordered_map 容器,直譯過(guò)來(lái)就是"無(wú)序 map 容器"的意思。所謂“無(wú)序”,指的是 unordered_map 容器不會(huì)像 map 容器那樣對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行排序。換句話說(shuō),unordered_map 容器和 map 容器僅有一點(diǎn)不同,即 map 容器中存儲(chǔ)的數(shù)據(jù)是有序的,而 unordered_map 容器中是無(wú)序的。
頭文件:#include<unordered_map >
3.vector::earse
是擦除容器內(nèi)固定位置的值或者一個(gè)區(qū)間的值,但是它的返回值是一個(gè)迭代器,指向最后一個(gè)刪除元素的下一個(gè)元素;
for(Iter = v1.begin(); Iter != v1.end(); Iter++)
{
if(*Iter == 10)
{
Iter = v1.erase(Iter);//Iter為刪除元素的下一個(gè)元素的迭代器
//即第一次這段語(yǔ)句后Iter 會(huì)是20,大家可以通過(guò)debug調(diào)試出來(lái)查看下數(shù)值
}
總是容易寫(xiě)成v1.erase(v1[i]);//這樣會(huì)使迭代器編程野指針,造成系統(tǒng)崩潰
4.兩個(gè)字符串需要比較時(shí),可以讓字符串的值轉(zhuǎn)為數(shù)字而成為容器或者數(shù)組里中括號(hào)里的值,那么它等于哪個(gè)數(shù)字就代表這個(gè)字符有幾個(gè),比如下俐中:
bool canConstruct(string ransomNote, string magazine)
{
int m[26]={0};
for(int i=0;i<magazine.size();i++)
{
m[magazine[i]-'a']++;//1,比如這里有字母轉(zhuǎn)化為數(shù)字9,而a[9]=2;就代表9有兩個(gè)
}
for(int j=0;j<ransomNote.size();j++)
{
m[ransomNote[j]-'a']--;
if(m[ransomNote[j]-'a']<0) return false;
}
return true;
}
5.string中find ()返回值是字母在母串中的下標(biāo)位置。
6.函數(shù)的返回類(lèi)型是vector,但是題中需要用到set容器操作,可以定義set存儲(chǔ)結(jié)果,在最后返回的時(shí)候就定義vector<類(lèi)型>(set.begin(),set.end());如下:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-410248.html
return vector<int>(res.begin(),res.end());
7.vector插入數(shù)據(jù)是push_back:在數(shù)組的最后添加數(shù)據(jù),但是set是insert函數(shù)插入數(shù)據(jù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-410248.html
到了這里,關(guān)于分享刷題的一些小知識(shí)點(diǎn)--4.9日的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!