美文网首页
leetcode_350两个数组的交集2

leetcode_350两个数组的交集2

作者: 看到这朵小fa了么 | 来源:发表于2020-07-13 09:57 被阅读0次

    1、暴力破解,循环找,找到则在数组中剔除

    var intersect = function(nums1, nums2) {
      let result = []
      for(let i=0; i<nums1.length; i++) {
          let index = nums2.findIndex(item => item === nums1[i])
          if(index>-1) {
              result.push(nums1[i])
              nums2.splice(index,1)
          }
      }
      return result
    };
    

    2、单指针,首先排序后从前对比,匹配则都后移一位,不匹配则小的后移一位

    var intersect = function(nums1, nums2) {
      let result = []
      let i=0
      let j=0
      nums1.sort((a,b) => a - b)
      nums2.sort((a,b) => a - b)
      while(i<nums1.length && j<nums2.length) {
          if(nums1[i] === nums2[j]){
              result.push(nums1[i])
              i++
              j++
          } else {
              if(nums1[i] < nums2[j]){
                  i++
              } else {
                  j++
              }
          }
      }
      return result
    };
    

    相关文章

      网友评论

          本文标题:leetcode_350两个数组的交集2

          本文链接:https://www.haomeiwen.com/subject/cnoocktx.html