还是从数据结构开始做吧 慢慢来
题目链接
- stl中set容器能够自动去重(挖个坑,stl仔细的学一遍),将vector中的数据依次添加进set容器中,若添加后,set容器中的元素数量小于添加次数,即有重复数据。
- set容器的insert()函数 (借鉴自:c语言中文网 (是这样写吗???))
//以普通引用的方式传递 val 值
pairinsert (const_iterator position, const value_type& val);
//以右值引用的方式传递 val 值
pairinsert (const_iterator position, value_type&& val);
以上 2 种语法格式的 insert() 方法,返回的都是 pair 类型的值,其包含 2 个数据,一个迭代器和一个 bool 值:
- 当向 set 容器添加元素成功时,该迭代器指向 set 容器新添加的元素,bool 类型的值为 true;
- 如果添加失败,即证明原 set 容器中已存有相同的元素,此时返回的迭代器就指向容器中相同的此元素,同时 bool 类型的值为 false。
所以,当插入时,判断返回值的第二个数据,如果为false即存在相同元素
- 看的别人的代码:先排序,再依次比较相邻两个是否相等。(这么简单我为什么想用set……)
class Solution { public: bool containsDuplicate(vector& nums) { set mySet; for(int i=0;i
class Solution { public: bool containsDuplicate(vector& nums) { set mySet; for(int i=0;i
class Solution { public: bool containsDuplicate(vector& nums) { int n=nums.size(); sort(nums.begin(),nums.end()); for(int i=0;i 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)