275. H指数II & 274.H指数 一套代码通关两题!

简介: 275. H指数II & 274.H指数 一套代码通关两题!

275.H指数II


https://leetcode-cn.com/problems/h-index-ii/solution/275-hzhi-shu-ii-274hzhi-shu-yi-tao-dai-m-k8qk/

难度:中等


题目

给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 。编写一个方法,计算出研究者的 h 指数。

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

说明:

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

进阶:

  • 这是 H 指数 的延伸题目,本题中的 citations 数组是保证有序的。
  • 你可以优化你的算法到对数时间复杂度吗?


示例

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


分析

进阶里面是这道题是 274.H指数的延伸题目...

反了吧,感觉这道题才是274的延伸题目。

  1. 这道题还是排好序的,275是未排序的,还需要一一行排序的代码才能提交成功。
  2. 这道题还明显提示你,能否通过对数的时间复杂度,对数是啥?不就是二分么。
    那还考虑什么想mid指针偏移条件吧:

h代表总共有h篇论文至少被引用了H次。

那还瞅啥,如果citations[index] >= length - index,表示为满足题意的,right = mid -1,

否则left = mid + 1就行了,最终return length - left 即可。


解题

class Solution:
    def hIndex(self, citations):
        # 不注释排序,通过274...
        # citations.sort()
        lg = len(citations)
        left, right = 0, lg - 1
        while left <= right:
            mid = (left + right) // 2
            if citations[mid] >= lg - mid:
                right = mid - 1
            else:
                left = mid + 1
        return lg - left




相关文章
|
7月前
|
Web App开发 编解码 数据可视化
实时云渲染:数字孪生可视化最稳定省心的方案
数字孪生技术发展面临大内容与轻终端的矛盾,实时云渲染成为解决这一问题的关键。它支持大规模复杂数据处理、低延迟交互、跨终端访问、高精度可视化及弹性扩展,同时保障数据安全。平行云Lark XR作为企业级实时云渲染PaaS平台,相比Epic Games UE引擎的像素流送插件,提供更稳定、兼容性强、功能全面的解决方案,适用于工业数字孪生、云游戏、元宇宙活动等场景,助力企业专注于业务创新。
|
Web App开发 缓存 JavaScript
Node.js安装教程(图文版)
Node.js安装教程(图文版)
1845 0
Node.js安装教程(图文版)
|
4月前
|
JSON API 数据格式
深度分析易贝API接口,用Python脚本实现
本文深度解析了eBay开放平台的RESTful API接口体系,涵盖其核心功能、OAuth 2.0认证机制、请求规范及限流策略,并基于Python构建了完整的API调用框架。内容包括商品与订单管理接口的实现逻辑、认证流程、错误处理机制及实战调用示例,适用于跨境电商系统开发与多平台集成。
|
9月前
|
弹性计算 缓存 前端开发
阿里云服务器ECS u1、c7、e实例、c8i实例有什么区别?性能有差异吗?
阿里云ECS实例包括经济型e、通用算力型u1、计算型c7和c8i,性能与价格各异。经济型e为共享型,适合轻量应用;u1性价比高,适配中小型企业需求;c7和c8i为企业级独享型,性能依次递增,适用于高性能场景。以2核4G为例,u1实例199元/年起,带5M带宽;c7和c8i价格更高但性能更强。选择时需根据实际需求权衡性能与成本。
377 0
|
12月前
|
存储 人工智能 Serverless
AI助手测评 | 3步快速构建主动式智能导购AI助手
本文介绍了如何利用阿里云的百炼平台构建主动式智能导购AI助手。在当前经济形势下,企业通过AI技术可以有效降低成本并提升服务质量。主动式智能导购AI助手不仅具备专业知识和耐心,还能24小时不间断服务用户,帮助企业节省夜班客服费用。通过创建API-KEY、部署函数计算应用和集成百炼商品检索应用,企业可以在短短几步内快速构建这一智能系统。此外,文章还提供了详细的部署步骤和测评建议,确保企业在实际应用中能够顺利实施。
|
9月前
|
运维 NoSQL 应用服务中间件
云服务器规格与带宽选型
本文主要分享了云服务器规格与带宽选型的经验,包括PV、UV、IP等概念的解释及其简化换算关系。文章详细介绍了根据业务访问规律计算合适的服务器资源配置,并提供了CPU与内存不同配比适用的业务场景。同时,针对带宽配置选择,提出了基于总请求量和单次请求大小的估算模型,以及按量付费和固定带宽的选择标准。最后简述了云上运维从人工到智能化(AIOps)的发展阶段,为读者提供实用参考。
508 57
|
人工智能 搜索推荐
数字孪生与体育:运动员表现分析
数字孪生技术在体育领域的应用正逐步改变运动员的训练和表现分析方式。通过创建虚拟模型,该技术能够实现个性化训练计划制定、比赛环境模拟、潜在伤害风险预测、技术动作精细化分析及团队战术布局模拟。结合AI技术,数字孪生为教练和运动员提供实时反馈和数据驱动的决策支持,助力提升竞技水平。
|
9月前
|
机器学习/深度学习 人工智能 搜索推荐
DeepSeek 速成指南:普通人也能秒懂的 AI 实战手册
DeepSeek 是一款强大的中文大语言模型,能处理长文本、多模态输入,适用于职场、学习、生活等场景。它擅长文案创作、数据分析与复杂任务拆解,相比 ChatGPT,在中文表达和网络热梗上更具优势。掌握精准提问、结果校验和效率工具三大技能,可大幅提升使用效果。同时,避免过度依赖、隐私泄露和伦理模糊的“三大天坑”,并通过角色扮演、思维链拆解等进阶技巧挖掘潜力。DeepSeek 不是替代品,而是助力你高效完成任务、拓展知识边界的超级大脑。未来属于善于与 AI 协作的人,立即行动,设计专属协作流程!
422 0
DeepSeek 速成指南:普通人也能秒懂的 AI 实战手册
|
SQL 前端开发 PHP
如何使用PHP开发一个购物网站?
在数字化时代,线上购物日益重要。本文介绍如何使用PHP开发一个功能完善、用户友好的购物网站,涵盖需求分析、开发环境选择、数据库设计、前后端开发、用户认证、商品展示、购物车、订单管理、功能扩展及安全性能优化等环节,旨在提供全面的开发指南。
250 3
|
前端开发 JavaScript API
2024年前端框架的演进与创新
【10月更文挑战第2天】在快速发展的Web开发领域,前端框架是构建交互式界面的基石。从jQuery到React、Vue和Angular,每个框架都有独特优势。2024年,Vue 3持续发展,引入Vapor模式提升性能;React生态系统不断扩展,成为热门选择;SolidJS崛起,提供细粒度响应性;低代码/无代码平台推动开发民主化;跨平台开发如React Native和Flutter进步显著;渐进式Web应用(PWA)使用增加,提升用户体验。这些趋势正塑造前端开发的未来,助力开发者在竞争中保持领先。

热门文章

最新文章