【每日一题Day363】LC275H 指数Ⅱ | 二分答案

简介: 【每日一题Day363】LC275H 指数Ⅱ | 二分答案

H 指数Ⅱ【LC275】

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

h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。

请你设计并实现对数时间复杂度的算法解决此问题。

同昨天的二分 区别不用自己排序了

  • 思路
  • 二段性:存在最大值y使,少于等于y的数值一定满足条件;大于y的数值一定不满足条件
  • 二分答案y
  • 引用次数大于等于y的论文数目大于等于y,那么向右搜索获得更大的y
  • 引用次数大于等于y的论文数目小于y,那么向左搜索获得更大的y
  • check:排序后可以快速算出引用次数大于等于y的论文数目
  • 实现
class Solution {
    public int hIndex(int[] citations) {
        int n = citations.length;
       // Arrays.sort(citations);
        int l = 1, r = n;
        int res = 0;
        while (l <= r){
            int mid =(l + r) >> 1;
            if (check(citations, mid) >= mid){
                res = Math.max(res, mid);
                l = mid + 1;            
            }else{
                 r = mid - 1;
            }
        }
        return res;
    }
    public int check(int[] citations, int target){
        int n = citations.length;
        int l = 0, r = n - 1;
        while (l <= r){
            int mid = l + r >> 1;
            if (citations[mid] < target){
                l = mid + 1;
            }else{
                r = mid - 1;
            }
        }
        // l为第一个符合的下标
        return n - l;// 大于等于target的引用次数的数目
    }
}

image.png

目录
相关文章
|
机器学习/深度学习 编解码 人工智能
Reading Notes: Human-Computer Interaction System: A Survey of Talking-Head Generation
由于人工智能的快速发展,虚拟人被广泛应用于各种行业,包括个人辅助、智能客户服务和在线教育。拟人化的数字人可以快速与人接触,并在人机交互中增强用户体验。因此,我们设计了人机交互系统框架,包括语音识别、文本到语音、对话系统和虚拟人生成。接下来,我们通过虚拟人深度生成框架对Talking-Head Generation视频生成模型进行了分类。同时,我们系统地回顾了过去五年来在有声头部视频生成方面的技术进步和趋势,强调了关键工作并总结了数据集。 对于有关于Talking-Head Generation的方法,这是一篇比较好的综述,我想着整理一下里面比较重要的部分,大概了解近几年对虚拟人工作的一些发展和
|
移动开发 JavaScript
Echarts根据需要生成对应的图表
Echarts根据需要生成对应的图表
120 0
|
机器学习/深度学习 人工智能
AI绘画的体验过程以及对生活的影响
AI绘画的体验过程以及对生活的影响
206 5
|
编译器 C语言 C++
[C++: 引用】(一)
[C++: 引用】(一)
89 0
|
14天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
6天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
9天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
854 25