1. 程式人生 > 資訊 >西部資料海外官網出現定價 Bug,大容量硬碟白菜價

西部資料海外官網出現定價 Bug,大容量硬碟白菜價

字典是什麼?

  • 與set類似,map也是一種儲存唯一值得資料結構,但它是以鍵值對的形式來儲存
  • 常用操作:鍵值對的增刪改查

求兩個陣列的交集

給定兩個陣列,編寫一個函式來計算它們的交集

let intersection = function (nums1, nums2) {
  const map = new Map()
  nums1.forEach(n => {
    map.set(n, true)
  });
  const res = []
  nums2.forEach(n => {
    if (map.get(n)) {
      res.push(n)
      map.delete(n)
    }
  })
  return res
}

console.log(intersection([1, 2, 3, 5, 6, 2, 1], [2, 4, 6])) // [2, 6]

兩數之和

給定一個整數陣列nums和一個目標值target,在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。陣列中同一個元素不能使用兩遍

let twoSum = function (nums, target) {
  const map = new Map()
  const length = nums.length
  for (let i = 0; i < length; i++) {
    let num1 = nums[i]
    let num2 = target - num1
    if (map.has(num2)) {
      return [map.get(num2), i]
    } else {
      map.set(num1, i)
    }
  }
}

console.log(twoSum([1, 2, 3, 5, 6, 7, 8], 9))