阿里笔试题
笔试题及答案(答案是我自己写的)
/**
* 找出数组中第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 temp = Array.from(new Set(arr));
temp.sort((a, b) => a - b);
const len = temp.length;
if (m > len || k > len) return;
const max = temp[len - k];
const min = temp[len - m];
let num = 0;
arr.forEach((a) => {
if (a === max || a === min