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

    Problem:

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

    Example 1:

    Input: nums1 = [1,2,2,1], nums2 = [2,2]
    Output: [2]
    

    Example 2:

    Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
    Output: [9,4]
    

    Note:

    • Each element in the result must be unique.
    • The result can be in any order.

    思路

    Solution (C++):

    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        if (nums1.empty() || nums2.empty())  return vector<int>{};
        int m = nums1.size(), n = nums2.size(), inter = 0;
        vector<int> res;
        if (m <= n) {
            for (int i = 0; i < m; ++i) {
                for (int j = 0; j < n-inter; ++j) {
                    if (nums1[i] == nums2[j])  { 
                        res.push_back(nums1[i]); 
                        swap(nums2[j], nums2[n-1-inter]);
                        inter++;
                        break;
                    }
                }
            }
        } else {
            for (int i = 0; i < n; ++i) {
                for (int j = 0; j < m-inter; ++j) {
                    if (nums2[i] == nums1[j])  { 
                        res.push_back(nums2[i]); 
                        swap(nums1[j], nums1[m-1-inter]);
                        inter++;
                        break;
                    }
                }
            }
        }
        return res;
    }
    

    性能

    Runtime: 16 ms  Memory Usage: 6.6 MB

    思路

    Solution (C++):

    
    

    性能

    Runtime: ms  Memory Usage: MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    三、python语法(定义,赋值,注释,输入输出)
    二、Python安装
    一、python简介
    Java第十二天
    Java第十一天
    Java第十天
    Java第九天
    Java第八天
    Java第七天
    Java第六天
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12617007.html
Copyright © 2011-2022 走看看