题目:给定一个一维数组,如[1,2,4,4,3,5],找出数组中第k大的数字出现多少次。

例如:第2大的数是4,出现2次,最后输出 4,2


function 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 num; // 利用元素之间的索引来得出该数字的数量 if(k == uniqarr.length){ // 需要判断是否为数组的最后一个元素(即最小值)
num = arr.length - index;
}else{
let indexnext = arr.indexOf(uniqarr[k]);
num = indexnext - index;
}
return ([tar, num]);
} let arr = [1,2,4,4,3,5];
console.log(...getNum(arr, 2));

来源:https://segmentfault.com/a/1190000017708381

最新文章

  1. 浅谈五大Python Web框架
  2. Android从零开始--安装
  3. QT 网络编程二(UDP版本)
  4. [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
  5. 自动备份sqlexpress 数据库脚本
  6. Oracle查找表的外键引用关系
  7. Software Engineer
  8. CodeForces 698A - Vacations (Codeforces Round #363 (Div. 2))
  9. Storm On YARN带来的好处
  10. java多线程编程题之连续打印abc的几种解法
  11. 忘记root密码,进入单用户模式修改密码
  12. javascript 中的apply()和call()方法详解
  13. Golang 语言的单元测试和性能测试(也叫 压力测试)
  14. 编译Android ROM环境搭建
  15. struts1与struts2的区别。
  16. Shell-匹配FTP文件名
  17. Docker跨主机link
  18. Halcon旋转图片的研究
  19. 【NOIP2016提高组】 Day2 T3 愤怒的小鸟
  20. java 框架 面试 2

热门文章

  1. Java 面试题经典 77 问(含答案)!
  2. 05_mybatis动态sql
  3. unittest零碎知识
  4. 面试系列16 dubbo负载均衡策略和集群容错策略都有哪些?动态代理策略呢
  5. linux普通用户无法登录mysql
  6. Python全栈开发:运算符
  7. loj6005 [网络流24题]最长递增子序列
  8. input 数值验证
  9. duilib教程之duilib入门简明教程4.响应按钮事件
  10. Java-MyBatis-MyBatis3-XML映射文件:select