求数组的交集

function intersect(nums1,nums2){

    nums1.sort(function(a,b){

        if(a>b){

            return 1

        }else{

            return -1

        }

    })

    nums2.sort(function(a,b){

        if(a>b){

            return 1

        }else{

            return -1

        }

    })  //首先对两个数组进行排序

    let left=right=0; //设立两个指针

    let arry=[]

    while(left<=nums1.length && right<=nums2.length){

        if(nums1[left]==nums2[right]){  

            arry.push(nums1[left])   //如果两个指针的所指的值相同,就把它放入数组中

            left+=1  // 同时两个指针同时向后移一位

            right+=1

        }else{

            if(nums1[left]<nums2[right]){   //如果指针指向nums1中的元素小于nums2中的元素

                left+=1  //则left指针向后移,反之右指针向后移

            }else{

                right+=1

            }

        }

    }

    return arry

}

result=intersect([2,5,6,9,7,3],[2,6,7,3,1])

console.log(result)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值