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




相关文章
|
4月前
|
Web App开发 编解码 数据可视化
实时云渲染:数字孪生可视化最稳定省心的方案
数字孪生技术发展面临大内容与轻终端的矛盾,实时云渲染成为解决这一问题的关键。它支持大规模复杂数据处理、低延迟交互、跨终端访问、高精度可视化及弹性扩展,同时保障数据安全。平行云Lark XR作为企业级实时云渲染PaaS平台,相比Epic Games UE引擎的像素流送插件,提供更稳定、兼容性强、功能全面的解决方案,适用于工业数字孪生、云游戏、元宇宙活动等场景,助力企业专注于业务创新。
|
机器学习/深度学习 测试技术
大模型开发:描述交叉验证以及为什么在模型评估中使用它。
【4月更文挑战第24天】交叉验证是评估机器学习模型性能的方法,通过将数据集分成训练集和多个子集(折叠)进行多次训练验证。它能减少过拟合风险,提供更可靠的性能估计,用于参数调优,并减少小数据集或噪声带来的随机性影响。通过汇总多轮验证结果,得到模型的整体性能估计。
325 7
|
域名解析 弹性计算 tengine
阿里云DNS常见问题之阿里云OpenAPI判断域名的dns服务器是否在阿里云失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
LVM 缩减 / 根目录导致的开机错误
LVM 缩减 / 根目录导致的开机错误
482 0
|
9月前
|
存储 人工智能 Serverless
AI助手测评 | 3步快速构建主动式智能导购AI助手
本文介绍了如何利用阿里云的百炼平台构建主动式智能导购AI助手。在当前经济形势下,企业通过AI技术可以有效降低成本并提升服务质量。主动式智能导购AI助手不仅具备专业知识和耐心,还能24小时不间断服务用户,帮助企业节省夜班客服费用。通过创建API-KEY、部署函数计算应用和集成百炼商品检索应用,企业可以在短短几步内快速构建这一智能系统。此外,文章还提供了详细的部署步骤和测评建议,确保企业在实际应用中能够顺利实施。
|
人工智能 测试技术 API
ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级
ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级
ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级
|
9月前
|
Python
净利润断层策略
净利润断层策略通过分析公司财报公布后股价的异常波动来选股。当财报超预期且股价跳空高开时,视为买入信号。本文介绍了使用Python和Akshare库实现该策略的具体步骤,包括安装库、获取数据、识别断层及筛选股票等。
|
11月前
|
前端开发 JavaScript API
2024年前端框架的演进与创新
【10月更文挑战第2天】在快速发展的Web开发领域,前端框架是构建交互式界面的基石。从jQuery到React、Vue和Angular,每个框架都有独特优势。2024年,Vue 3持续发展,引入Vapor模式提升性能;React生态系统不断扩展,成为热门选择;SolidJS崛起,提供细粒度响应性;低代码/无代码平台推动开发民主化;跨平台开发如React Native和Flutter进步显著;渐进式Web应用(PWA)使用增加,提升用户体验。这些趋势正塑造前端开发的未来,助力开发者在竞争中保持领先。
|
11月前
|
安全 新能源 知识图谱
固态电池:电动汽车的能源革新
【10月更文挑战第15天】固态电池凭借其高能量密度、长续航、卓越安全性和快速充电等优势,正引领新能源汽车领域的技术革命。本文详细探讨了固态电池的技术特点、优势及其对电动汽车产业的影响,展示了其在提升续航里程、增强安全性和降低成本方面的巨大潜力。随着技术的不断进步和成本的降低,固态电池有望成为推动电动汽车行业发展的关键力量,开启一个更加绿色高效的交通新时代。
|
12月前
|
安全 网络协议 网络安全
在实现HTTPS时,有哪些常见的安全协议
在实现HTTPS时,有哪些常见的安全协议
587 1

热门文章

最新文章