其他分享
首页 > 其他分享> > 实现一个方法,找出数组中第k大的和第m大的数字相加之和

实现一个方法,找出数组中第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));

 

标签:arr,const,findTopSum,相加,找出,mValue,let,mNumber,数组
来源: https://www.cnblogs.com/muky/p/15951742.html