if(s.insert(A [i])。second)是什么意思? s是一个集合,A是一个向量。代码就是这样 -
int main() {
long long p,i,input;
vector<long long> A;
cin>>p;
for(i=0;i<p;i++)
{
cin>>input;
A.push_back(input);
}
long long N = A.size();
set<long long> s;
set<long long>::iterator k;
for (i=0;i<N;i++)
{
if (s.insert(A[i]).second)
{
k = s.find(A[i]);
k++;
if (k!=s.end())
s.erase(k);
}
}
cout<<s.size();
}
提前致谢!
答案 0 :(得分:3)
map<T>::insert
返回pair
;如果你looked up the documentation for that function,你就会知道这一点。
该对中的first
成员变量存储指向刚刚插入的元素的迭代器。如果元素实际插入(second
),true
成员变量将存储false
。
.second
访问该对的second
成员。