zoukankan      html  css  js  c++  java
  • 两个数组取交集、差集和数组去重的方法

    两个数组取差集

    <script>
        var alpha = [1, 2, 3, 4, 5, 6],
        beta = [4, 5, 6, 7, 8, 9];
    
        $.arrayIntersect = function(a, b)
        {
            return $.merge($.grep(a, function(i)
                {
                    return $.inArray(i, b) == -1;
                }) , $.grep(b, function(i)
                {
                    return $.inArray(i, a) == -1;
                })
            );
        };
    
        window.console && console.log( $.arrayIntersect(alpha, beta) );
    </script>

    两个取交集

    <script>
    $(function(){
            function arrayIntersection(a, b)
            {
              var ai=0, bi=0;
              var result = new Array();
             
              while( ai < a.length && bi < b.length )
              {
                 if      (a[ai] < b[bi] ){ ai++; }
                 else if (a[ai] > b[bi] ){ bi++; }
                 else /* they're equal */
                 {
                   result.push(a[ai]);
                   ai++;
                   bi++;
                 }
              }
             
              return result;
            }
             
            console.log(arrayIntersection([1,2,3],[2,3,4,5,6]));//[2,3]
        })
    </script>

    数组去重的方法

    $(function(){
            var arr = [0,2,4,2,1,0];
            var new_arr = [];
            for(var i = 0;i<arr.length;i++){
                var items = arr[i];
                if($.inArray(items,new_arr)==-1){
                    new_arr.push(items);
                }
            }
        })
  • 相关阅读:
    (个人题目)作业 题解
    P2618 数字工程
    P6394 樱花,还有你
    USACO08FEB Making the Grade G
    USACO13NOV Pogo-Cow S
    CSP2019 树上的数
    JSOI2018 潜入行动
    NOIP2017 宝藏
    SNOI2017 炸弹
    【洛谷】【最小生成树】P1195 口袋的天空
  • 原文地址:https://www.cnblogs.com/liyuhuan/p/6126145.html
Copyright © 2011-2022 走看看