给定两个以升序排列的整数数组 nums1 和 nums2 , 以及一个整数 k 。 // 定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。 // 请找到和

给定两个以升序排列的整数数组 nums1 和 nums2 , 以及一个整数 k 。
// 定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。
// 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。

 var kSmallestPairs = function (nums1, nums2, k) {
    let res = []
    let sum = new Map()
    let count = 0
    nums1.map(item2 => {
      nums2.map(item1 => {
        res.push([item2, item1])
        sum.set(count, item2 + item1)
        count++
      })
    })
    const resultArr = Array.from(sum).sort((a, b) => {
      return a[1] - b[1]
    }).slice(0, k)
    let resArr = []
    resultArr.map(item => {
      resArr.push(res[item[0]])
    })
    return resArr
  };
  nums1 = [1, 2], nums2 = [3], k = 3
  // console.log(kSmallestPairs(nums1, nums2, k))
  // 编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。
  var swapNumbers = function (numbers) {
    return numbers.reverse()
  };
  numbers = [1, 2]
  // console.log(swapNumbers(numbers))
posted @ 2021-11-17 09:32  Cupid05  阅读(233)  评论(0编辑  收藏  举报