Table of Contents
- 题目:给定一个一维数组,如[1,2,4,4,3,5],找出数组中第k大的数字出现多少次。###例如:第2大的数是4,出现2次,最后输出 4,2function getNum(arr, k){ // 数组排序->从大到小 arr.sort((a, b)=>{ return b-a; }); let uniqarr = Array.from(new Set(arr)); // 数组去重 let tar = uniqarr[k-1]; // 找到目标元素 let index = arr.indexOf(tar); // 寻找下标 let tarnext = uniqarr[k]; // 找到下一个元素 let num; // 利用元素之间的索引来得出该数字的数量 if(k == uniqarr.length){ num = arr.length - index; }else{ let indexnext = arr.indexOf(tarnext); num = indexnext - index; } return ([tar, num]);}let arr = [1,2,4,4,3,5];console.log(…getNum(arr, 2));
题目:给定一个一维数组,如[1,2,4,4,3,5],找出数组中第k大的数字出现多少次。###例如:第2大的数是4,出现2次,最后输出 4,2function getNum(arr, k){ // 数组排序->从大到小 arr.sort((a, b)=>{ return b-a; }); let uniqarr = Array.from(new Set(arr)); // 数组去重 let tar = uniqarr[k-1]; // 找到目标元素 let index = arr.indexOf(tar); // 寻找下标 let tarnext = uniqarr[k]; // 找到下一个元素 let num; // 利用元素之间的索引来得出该数字的数量 if(k == uniqarr.length){ num = arr.length - index; }else{ let indexnext = arr.indexOf(tarnext); num = indexnext - index; } return ([tar, num]);}let arr = [1,2,4,4,3,5];console.log(…getNum(arr, 2));#