实现一个方法,找出数组中第k大的和第m大的数字相加之和

// let arr = [1,2,4,4,3,5], k = 2, m = 4 // findTopSum(arr, k, m); // 第2大的数是4,出现2次,第4大的是2,出现1次,所以结果为10 // / function findTopSum(arr, k, m) { }  
const findTopSum = (arr, k, m) => {
  const kValue = arr[k - 1]
  const mValue = arr[m - 1]
  let kNumber = 0, mNumber = 0
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] == kValue) kNumber++
    if (arr[i] == mValue) mNumber++
  }
  return kValue * kNumber + mValue * mNumber
}
console.log(findTopSum([1, 2, 4, 4, 3, 5], 2, 4));

 

上一篇:vue使用wx-open-launch-weapp


下一篇:快速排序(QuickSort)