前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >给定两个数组,写一个方法来计算它们的交集。

给定两个数组,写一个方法来计算它们的交集。

作者头像
刘嘿哈
发布2022-10-25 14:20:09
3730
发布2022-10-25 14:20:09
举报
文章被收录于专栏:js笔记js笔记

例如:给定 nums1 = [1, 2, 2, 1],nums2 = [2, 2],返回 [2, 2]。

  1. 依题可得的解法
代码语言:javascript
复制
 function intersection(arr1,arr2){
        var arr=[]
        arr2.forEach(arr2Item=>{
            var index=arr1.indexOf(arr2Item);
            if(index!=-1){
                arr.push(arr2Item);
                arr1.splice(index,1);
            }
        })
      return arr;
    }
  1. 先排序,再用双指针遍历
代码语言:javascript
复制
  function intersection(arr1,arr2){
        var arr=[]
        arr1=arr1.sort((x,y)=>x-y);
        arr2=arr2.sort((x,y)=>x-y);
        var i=0;
        var j=0;
        while(i<arr1.length&&j<arr2.length){
            if(arr1[i]<arr2[j]){
                i++;
            }else if(arr1[i]==arr2[j]){
                arr.push(arr1[i])
                i++;
                j++;
            }else{
                j++
            }
        }
      return arr;
    }

3.Map结构 ,没啥优势

代码语言:javascript
复制
 function toMap(arr){
        var mapArr=new Map();
        for(let i=0;i<arr.length;i++){
            let num=mapArr.get(arr[i]);
            mapArr.set(arr[i],num?num+1:1);
        }
        return mapArr;
    }
    function intersection(arr1,arr2){
        var arr=[]
       var  mapArr1=toMap(arr1);
       var  mapArr2=toMap(arr2);
        mapArr1.forEach((arr1Item,key)=>{
            var arr1ItemCount=arr1Item;
            var arr2ItemConnt=mapArr2.get(key);
            if(arr1ItemCount&&arr2ItemConnt){
                var maxCount=Math.min(arr1ItemCount,arr2ItemConnt)
                while(maxCount--){
                    arr.push(key);
                }
            }
        })
      return arr;
    }

1.token加密主要是用来做客户端和服务端的用户信息校验 2.服务端生成随机数,用户登录会将随机数告知客户端,并自己在缓存空间保留一份,每次客户端发送token, 服务端会对比缓存空间是否有此token,来判断用户是否存在 3.当确定token存在,进行下一步校验…,最后通过token拿取客户端需要的信息 4.加密方法:JWT,AES,DES…或者直接随机字符串

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档