c++刷题的时候常用的set函数
unondered_set <int> BIGSET 定义一个set
(普通的set会自动排序哦)
begin() 返回指向第一个元素的迭代器
size() 获取Set尺寸(即Set包含数据元素的总数)
insert() 在set中加入某个数
end() 返回指向最后一个元素的迭代器,常常用于BIGSET.find()后面来检查是否查到该数
find() 在set中查找是否有这个数
附上LEETCODE 3 中对set的使用:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_set <int> bigset;
int i,j=0;
int length=0;
int maxlength=0;
for(i=0,j=0;i<s.size();i++){
if(bigset.find(s[i])==bigset.end()){ //用到了find
bigset.insert(s[i]); //用到了insert
length++;
if(length>maxlength){
maxlength=length;
}
}else{
while(bigset.find(s[i])!=bigset.end()){
bigset.erase(s[j++]); //用到了erase
length--;
}
bigset.insert(s[i]);
length++;
}
}
return maxlength;
}
};