leetcode249,利用了STL中的set

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        set<int> n1(nums1.begin(),nums1.end());
        set<int> n2;
        ;i<nums2.size();i++)
        {
            if(n1.find(nums2[i])!=n1.end())
            {
                n2.insert(nums2[i]);
            }
        }

        return vector<int> results(n2.begin(),n2.end());
    }
};

思路:set中的元素不重复,利用这一点方便进行最后的插入操作而不用去重。实际上第一个set<int> n1是没有必要的,可以直接vector来查找,但是用set的效率会更高。

下面给出用vector和库里面的find实现的方式:

 class Solution {
 public:
     vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {

 set<int> n2;

         ;i<nums2.size();i++)
         {
             auto it=nums1.end();
             if((it=find(nums1.begin(),nums1.end(),nums2[i]))!=nums1.end())
             {
                 n2.insert(nums2[i]);
             }
         }

         return vector<int> (n2.begin(),n2.end());
     }

 };

vector实现

虽然每次创建一个迭代器会耗费内存,总体来说少了一个map会比较折中。

leetcode 250,利用了STL中的map。

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {

        map<int,int> n1;

        ;i<nums1.size();i++)
        {
            n1[nums1[i]]++;
        }

        vector<int> results;

        ;i<nums2.size();i++)
        {
            )
            {
                results.push_back(nums2[i]);
                n1[nums2[i]]--;
            }
        }
        return results;
    }
};

思路:因为要统计频率,题目要求不去重,所以需要统计元素出现频率。但又不知道集合中元素的大小,故无法用数组,所以采用map。

leetcode 249 250 set和map的简单用法的更多相关文章

  1. HDU1004 Let the Balloon Rise(map的简单用法)

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...

  2. set和map的简单用法

    .set(集合)map(映射)都属于关联类容器 都支持查询一个元素是否存在并能够有效地获取元素. set集合的元素总是从小到大排列,set集合通过二分查找树实现.它具备以下两个特点: ①:独一无二的元 ...

  3. GO的MAP字典简单用法示例

    package main import "fmt" type PersonInfo struct { ID string Name string Address string } ...

  4. listActivity和ExpandableListActivity的简单用法

    http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...

  5. Android MultiType第三方库的基本使用和案例+DiffUtil的简单用法

    1.MultiType简单介绍 1.1.MultiType用于比较复杂的页面. 如下图,今日头条用到了MultiType处理各种复杂的页面.    这种还是比较简单的类型.因为一个页面也就这种类型. ...

  6. python lambda表达式简单用法【转】

    python lambda表达式简单用法 1.lambda是什么? 看个例子: g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>& ...

  7. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  8. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  9. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

随机推荐

  1. MySQL修改表的默认字符集和修改表字段的默认字符集

    修改表的默认字符集: ALTER TABLE table_name DEFAULT CHARACTER SET character_name; 修改表字段的默认字符集: ALTER TABLE tab ...

  2. 70-persistent-net.rules无法自动生成,解决方法

    无法自动生成70-persistent-net.rules文件的原因: 在更换linux内核前修改ifcfg-eth0文件,更换内核,使用dhclient无法动态分配IP,删掉70-persisten ...

  3. 区别 new function(){} 和 function(){}()

    只要 new 表达式之后的 constructor 返回(return)一个引用对象(数组,对象,函数等),都将覆盖new创建的匿名对象,如果返回(return)一个原始类型(无 return 时其实 ...

  4. [LC] 58. Length of Last Word

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  5. 蓝桥杯-PREV3-带分数

    有人管蓝桥杯叫暴力杯,现在感觉还是挺贴切的.看到这题首先想到让i从1到n循环,首先判断i中无重复数字,再怎样判断能否用剩下的数构成n - i的假分数.之后看了题解.发现思路错了. 总结两点: 1.蓝桥 ...

  6. prototype与__proto__

    __proto__是每个对象都有的一个属性,而prototype是函数才会有的属性!!! 使用Object.getPrototypeOf()代替__proto__!!! 一.prototype 几乎所 ...

  7. 操作的系统的PV操作

    转自:https://blog.csdn.net/sunlovefly2012/article/details/9396201 在操作系统中,进程之间经常会存在互斥(都需要共享独占性资源时) 和同步( ...

  8. .js——alert()语句

    在.js文件中,通过alert()语句可以生成弹出框,弹出框中的内容message部分可以是常量字符串,也可以是含有变量的字符串连接,下面举几个例子简要说明下: 1. 参数为常量字符串 alert(& ...

  9. [洛谷P4720] [模板] 扩展卢卡斯

    题目传送门 求组合数的时候,如果模数p是质数,可以用卢卡斯定理解决. 但是卢卡斯定理仅仅适用于p是质数的情况. 当p不是质数的时候,我们就需要用扩展卢卡斯求解. 实际上,扩展卢卡斯=快速幂+快速乘+e ...

  10. Synchronized的jvm实现

    参考文档: https://www.cnblogs.com/dennyzhangdd/p/6734638.html