zoukankan      html  css  js  c++  java
  • 350. Intersection of Two Arrays II

    Given two arrays, write a function to compute their intersection.

    Example:
    Given nums1 = [1, 2, 2, 1]nums2 = [2, 2], return [2, 2].

    Note:

    • Each element in the result should appear as many times as it shows in both arrays.
    • The result can be in any order.

    Follow up:

      • What if the given array is already sorted? How would you optimize your algorithm?
      • What if nums1's size is small compared to nums2's size? Which algorithm is better?
      • What if elements of nums2 are stored on disk, and the memory is limited such that you cannot load all elements into the memory at once?

    ===================

    返回交叉元素,

    注意:结果中每个元素应该出现和两个数组相同的次数,结果的顺序任意.

    思路:排序+遍历

    ==

    class Solution {
    public:
        vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
            vector<int> re;
            sort(nums1.begin(),nums1.end());
            sort(nums2.begin(),nums2.end());
    
            vector<int>::iterator it1 = nums1.begin();
            vector<int>::iterator it2 = nums2.begin();
            for(;it1!=nums1.end() && it2!=nums2.end();){
                if(*it1<*it2) it1++;
                else if(*it1 > *it2) it2++;
                else{
                    re.push_back(*it1);
                    it1++;
                    it2++;
                }
            }
            return re;
        }
    };
  • 相关阅读:
    postfix 邮件中继配置
    shell脚本网络流量实时查看
    zabbix配置邮件报警(第四篇)
    pptp服务故障
    Centos6.7 ELK日志系统部署
    rrdtool 实践
    Centos6.7安装Cacti教程
    Nagios事件机制实践
    Nrpe 插件安装教程
    如何查找一个命令由哪个rpm安装&&rpm 的相关查询方法
  • 原文地址:https://www.cnblogs.com/li-daphne/p/5607863.html
Copyright © 2011-2022 走看看