没有count方法
有count(key)方法,但是由于map中元素是以键值对的形式存在,且键(key)是唯一的,所以count(key)最大返回1。
有count(val)方法,但是由于set容器中各个元素的值是唯一的,因此该函数的返回值最大为1.
有count(key)方法,在容器中查找以key键的键值对的个数。与map相同,最大返回1。
有conut(key)方法,与set类似,最大返回1。
通过细看各个容器的count()方法,最终发现除了vector没有count方法外,其他容器都有,且都只能最大返回1。
所以这也揭开了我的一个疑惑,之前一直想着用容器.count()方法去计算容器内某个元素的个数,现在终于解惑了,容器中都是去重的(除了vector),并不需要计算个数。
而当我们用map或者unordered_map去存储某个元素出现多少次时,count方法只是一个先行的判断条件,判断是否存在,而不是判断有多少个。如果要判断个数,应该用下标描述,例如temp[num]。
例题class Solution { public: vectorintersect(vector & nums1, vector & nums2) { if (nums1.size() > nums2.size()) { return intersect(nums2, nums1); } vector res; unordered_map time; for(auto p : nums1) { time[p]++; } for(auto num : nums2) { if(time.count(num)) //这个是判断nums1中是否有num { cout< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)