当前位置: 首页 > article >正文

排序算法- H指数

hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧!

在这里插入图片描述

/**
 * 使用排序法计算 h 指数
 * @param {number[]} citations - 论文引用次数数组
 * @return {number} - 计算得到的 h 指数
 */
function hIndex(citations) {
    // 首先对数组进行降序排序
    citations.sort((a, b) => b - a);
    let h = 0;
    // 遍历排序后的数组
    for (let i = 0; i < citations.length; i++) {
        if (citations[i] >= i + 1) {
            // 如果当前论文的引用次数大于等于当前论文的序号加 1
            // 说明满足 h 指数的条件,更新 h 指数
            h = i + 1;
        } else {
            // 一旦不满足条件,跳出循环
            break;
        }
    }
    return h;
}

代码解释

排序: 将数组 citations 按降序排列,这样引用次数多的论文排在前面。
遍历数组: 对于每个位置 i,判断 citations[i] 是否大于等于 i + 1。如果满足条件,说明至少有 i + 1 篇论文的引用次数大于等于 i + 1,更新 h 指数为 i + 1。
终止条件: 一旦不满足 citations[i] >= i + 1 的条件,说明后续位置也不会满足,跳出循环。
返回结果: 最终返回 h 指数。


http://www.kler.cn/a/523149.html

相关文章:

  • 使用CSS实现一个加载的进度条
  • vue-有关于TS与路由器
  • RPC是什么?和HTTP区别?
  • 从替代到覆盖:暴雨信创服务器打开市场新局面
  • scratch学习教程
  • LangGraph系列-1:用LangGraph构建简单聊天机器人
  • 【C语言分支与循环结构详解】
  • 如何下载SQLServer
  • fprintf(‘parametric_vector:\n‘); disp(parametric_vector);
  • 损失函数 Loss Function
  • 【番外篇】鸿蒙扫雷天纪:运混沌灵智勘破雷劫天局
  • 深入探索 HTML5 拖拽效果 API:打造流畅交互体验
  • 27.收益的定义是什么?
  • 2024年终总结——今年是蜕变的一年
  • 砥砺奋进,展望新程0114
  • Webpack 打包性能优化全解
  • 2025数学建模美赛|D题成品论文
  • 第四节 MATLAB变量
  • BurpSuite--暴力破解
  • Redis 集合(Set)
  • java多线程学习笔记
  • golang中的包管理-上--简介
  • 视频拼接,拼接时长版本
  • JavaScript反爬技术解析与应对
  • 蓝桥杯练习日常|递归-进制转换
  • SpringBoot或SpringAI对接DeekSeek大模型