获取H指数

简介: 获取H指数(算法题)

获取H指数(算法题)

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。

根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 n - h 篇论文每篇被引用次数 不超过 h 次。

如果 h 有多种可能的值,h 指数 是其中最大的那个。

示例1:

输入:citations = [3,0,6,1,5]
输出:3 
解释:给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 3, 0, 6, 1, 5 次。
     由于研究者有 3 篇论文每篇 至少 被引用了 3 次,其余两篇论文每篇被引用 不多于 3 次,所以她的 h 指数是 3。

示例2:

输入:citations = [1,3,1]
输出:1

提示:

  • n == citations.length
  • 1 <= n <= 5000
  • 0 <= citations[i] <= 1000

思路

首先可以将初始的H指数设为0,然后将引用次数排序,并且对排序后的数组从大到小遍历。

根据H指数的定义,如果当前H指数为h并且在遍历过程中找到当前值citations[i]>h,则说明我们找到了一篇引用了至少h+1次的论文,所以将现有的h值加1。继续遍历直到 h 无法继续增大。最后返回 h 作为最终答案。

class Solution {
public:
    int hIndex(vector<int>& citations) {
        sort(citations.begin(), citations.end());
        int h = 0, i = citations.size() - 1;
        while (i >= 0 && citations[i] > h) {
            h++;
            i--;
        }
        return h;
    }
};
相关文章
|
自然语言处理
ChatGPT Prompt顶级思维框架:LangGPT
ChatGPT作为当前最先进的对话生成模型,能够满足各种文本生成需求。然而,要充分利用其强大的功能,合理而全面的指令设置(Prompt Engineering)是关键。 今天,我要与大家分享一种名为“LangGPT”的思维框架,它可以帮助你更有效地构建ChatGPT的提示词。
|
前端开发 Java 应用服务中间件
|
5月前
|
JSON 算法 安全
1688图片搜索逆向工程与多模态搜索融合实践——基于CLIP模型的特征向
本文介绍了通过逆向工程分析实现图片搜索的技术方案,包括请求特征捕获、签名算法破解及多模态搜索的实现。利用CLIP模型提取图像特征,并结合Faiss优化相似度计算,提升搜索效率。最后提供完整调用示例,模拟实现非官方API的图片搜索功能。
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
10月前
|
存储 缓存 NoSQL
「缓存」会用很容易,用好才是技术活
本文对比了几种常用缓存的特点,主要介绍了基于Guava的本地缓存和基于Tair的分布式缓存,包含快速入门和深入原理两部分,并在最后提供了使用缓存时需要注意的事项。
|
算法 安全 量子技术
深入理解量子计算:原理、挑战与未来展望
深入理解量子计算:原理、挑战与未来展望
|
存储 人工智能 关系型数据库
MySQL 8.0 字符集与比较规则介绍
我们都知道 MySQL 8.0 与 MySQL 5.7 的区别之一就是默认字符集从 latin1 改成了 utf8mb4 ,除此之外,MySQL 8.0 下的字符集和比较规则还有没有其他变化呢?本篇文章我们一起来学习下。
905 1
|
网络协议 网络架构
OSPF中的Not-So-Stubby Area (NSSA):概念、配置与应用
OSPF中的Not-So-Stubby Area (NSSA):概念、配置与应用
362 3
|
传感器 存储 安全
智能包装:食品保鲜与追踪的创新
【10月更文挑战第20天】智能包装通过传感器、微电子和物联网技术,实现实时监测和调节食品环境条件,延长食品保鲜期,确保食品安全。本文探讨其基本原理、技术创新、实际应用及未来趋势,展示其在食品行业中的革命性变化。
|
Linux
Linux的cp命令如何使用?
Linux的cp命令如何使用?
318 4