美文网首页
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