zoukankan      html  css  js  c++  java
  • 取出两个数组的交集

    //取数组交集
    doIntersection(firstArray, secondArray) {
    // The logic here is to create a hashmap with the elements of the firstArray as the keys.
    // After that, you can use the hashmap's O(1) look up time to check if the element exists in the hash
    // If it does exist, add that element to the new array.
    var hashmap = {};
    var intersectionArray = [];
    firstArray.forEach(function (element) {
    hashmap[element] = 1;
    });
    // Since we only want to push unique elements in our case... we can implement a counter to keep track of what we already added
    secondArray.forEach(function (element) {
    if (hashmap[element] === 1) {
    intersectionArray.push(element);
    hashmap[element]++;
    }
    });
    return intersectionArray;
    // Time complexity O(n), Space complexity O(n)
    },
     
    //用法直接调用得到返回值便是交集值
    this.doIntersection(arr1, arr2);
  • 相关阅读:
    Java异常处理和设计
    一次qps测试实践
    Alternate Task UVA
    Just Another Problem UVA
    Lattice Point or Not UVA
    Play with Floor and Ceil UVA
    Exploring Pyramids UVALive
    Cheerleaders UVA
    Triangle Counting UVA
    Square Numbers UVA
  • 原文地址:https://www.cnblogs.com/xinhang/p/8458450.html
Copyright © 2011-2022 走看看