每日一题 274. H 指数(中等)

news2024/11/27 0:39:10

在这里插入图片描述
先讲一下自己的复杂的写法

  1. 第一眼最大最小值问题,直接在0和最大被引次数之间二分找答案
  2. 先排序,再二分,,,

正解:

  1. 排序得到 citations 的递减序列,通过递增下标 i 遍历该序列
  2. 显然只要排序后的 citations[i] >= i + 1,那么 h 至少是 i + 1,由于 citations[i] 递减,i 递增,所以遍历过程中必有交点,也就是答案
class Solution:
    def hIndex(self, citations: List[int]) -> int:
        if len(citations) == 0:
            return 0
        citations.sort()
        l, r = 0, citations[-1]
        while l < r:
            mid = (l + r) >> 1
            t = len(citations) - bisect_left(citations, mid)
            if t >= mid:
                l = mid + 1
            if t < mid:
                r = mid
                
        t = len(citations) - bisect_left(citations, r)
        
        return r if t >= r else l - 1
class Solution:
    def hIndex(self, citations: List[int]) -> int:
        sorted_citation = sorted(citations, reverse = True)
        h = 0; i = 0; n = len(citations)
        while i < n and sorted_citation[i] > h:
            h += 1
            i += 1
        return h

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1146688.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【教3妹学编程-java实战5】结构体字段赋值的几种方式

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 2哥 :3妹&#xff0c;考考你&#xff0c;你知道java结…

【SPSS】基于RFM+Kmeans聚类的客户分群分析(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

Python学习笔记--初始化函数

六、初始化函数 1、什么是初始化函数 初始化函数的意思是&#xff0c;当你创建一个实例的时候&#xff0c;这个函数就会被调用。 比如&#xff1a; 当代码在执行 a ClassA() 的语句时&#xff0c;就自动调用了 __init__(self) 函数。 而这个 __init__(self) 函数就是初始化…

精通Linux系列第四章:Linux常用命令入门

文章目录 一、前言二、命令行介绍2.1 Shell概述2.2 命令行提示符2.3 命令行快捷键2.4 命令行历史和命令补全 三、基本命令3.1 ls - 列出文件和目录3.2 cd - 切换目录3.3 pwd - 显示当前工作目录3.4 mkdir - 创建目录3.5 rm - 删除文件和目录3.6 cp - 复制文件和目录3.7 mv - 移…

好题分享(2023.10.22——2023.10.28)

目录 ​编辑 前言&#xff1a; 题目一&#xff1a;《消失的数字》 1.先排序再遍历 2.异或 3.等差数列求和&#xff0c;再相减 题目二&#xff1a;《轮转数组》 1.开辟新的数组 2.原地逆序 题目三&#xff1a;《移除元素》 题目四&#xff1a;《删除有序数组的重复项…

【Java每日一题】——第四十三题:USB接口程序设计。(2023.10.29)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

拉扎维模拟CMOS集成电路设计西交张鸿老师课程P2~5视频学习记录

目录 p2 p3 p4 p5 --------------------------------------------------------------------------------------------------------------------------------- p2 -----------------------------------------------------------------------------------------------------…

问题 U: 折线分割平面(类比+规律)

规律类比&#xff1a; 1.一个折线的角&#xff0c;只会对应一个部分 2.若反向延长&#xff0c;角对应的部分被分为3部分 &#xff08;即一条折现线改为两条直线&#xff09; 3.所以n条折线分成的平面数&#xff0c;等于2n条直线减去2n 代码实现&#xff1a;

小程序源文件的简单获取方法分享

小程序的源文件地址 在微信的服务器上。普通用户想要直接获取到在微信服务器去获取,肯定是十分困难的,有没有别的办法呢? 简单思考一下我们使用小程序的场景就会明白,当我们点开一个微信小程序的时候,其实是微信已经将它的从服务器上下载到了手机,然后再来运行的。所以我…

【AD9361 数字接口CMOS LVDSSPI】A 并行数据之CMOS

〇、综述 本章介绍并行数据端口&#xff08;P0_D P1_D&#xff09;和串行外设接口&#xff08;SPI&#xff09;&#xff0c;用于在AD9361和BBP之间传输数据和控制/状态信息。 下图显示了这些接口&#xff0c;并提供了AD9361和BBP在宽带无线系统中的使用方式的高级视图。数据接…

python无向图最短距离问题

题目&#xff1a; 如下图所示无向图&#x1f431;‍&#x1f409;&#x1f431;‍&#x1f409;&#x1f431;‍&#x1f409;&#xff0c;其中蓝色边的长度是 1、橘色边的长度是 2、绿色边的长度是 3&#xff0c;求从 A 点到 S 点的最短距离为多少&#x1f914; 我们得明白一…

人工智能在疾病治疗中的应用:机遇与挑战

人工智能在疾病治疗中的应用&#xff1a;机遇与挑战 随着人工智能技术的飞速发展&#xff0c;其在诸多领域的应用价值日益显现。本文将探讨人工智能技术在疾病治疗中的应用&#xff0c;包括其背景意义、技术概述、具体应用、发展前景以及总结。 一、背景意义 随着医学技术的…

【24.两两交换链表中的节点】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:ListNode* swapPairs(ListNode* head) {if(headnullptr||head->nextnullptr) return head;ListNode* curhead,*nexthead->next;ListNode* nnextswapPairs(n…

第 116 场 LeetCode 双周赛题解

A 子数组不同元素数目的平方和 I 枚举&#xff1a;枚举子数组&#xff0c;用集合记录当前子数组中不同元素的个数 class Solution { public:using ll long long;int sumCounts(vector<int> &nums) {ll mod 1e9 7;int n nums.size();unordered_set<int> s;l…

C++深度优先(DFS)算法的应用:收集所有金币可获得的最大积分

涉及知识点 深度优化(DFS) 记忆化 题目 节点 0 处现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 。给你一个长度为 n - 1 的二维 整数 数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示在树上的节点 ai 和 bi 之间存在一条边。另给你一个下标从 0…

微信小程序项目案例之导游证考试刷题小程序

前言 很多计算机专业的同学在做毕设选题时不知道该如何选题&#xff0c;有的同学是已经选择了要开发一款小程序&#xff0c;但是又不知道开发哪类小程序。本篇将为大家介绍一个小程序的开发方向&#xff0c;考试刷题类小程序是目前比较火的小程序项目之一&#xff0c;在小程序…

施耐德Lexium23A运行JOG停止时无减速过程解决方案

在现场调试时发现&#xff0c;如果Lexium23A工作在Pr模式下&#xff0c;无论是通过CANopen总线控制软件DI接通&#xff08;相应DI点设置为JOG运行&#xff09;还是实际的物理点接通&#xff0c;在JOG停止时&#xff0c;伺服电机会瞬间停止&#xff0c;造成机械冲击&#xff0c;…

响应式家居设计工作室网站模板源码

模板信息&#xff1a; 模板编号&#xff1a;849 模板编码&#xff1a;UTF8 模板颜色&#xff1a;橙色 模板分类&#xff1a;设计、广告、文化、影视 适合行业&#xff1a;广告设计类企业 模板介绍&#xff1a; 本模板自带eyoucms内核&#xff0c;无需再下载eyou系统&#xff…

Redis(09)| Reactor模式

我们在使用Redis的时候&#xff0c;通常是多个客户端连接Redis服务器&#xff0c;然后各自发送命令请求(例如Get、Set)到Redis服务器&#xff0c;最后Redis处理这些请求返回结果。 从上一篇博文《Redis&#xff08;08&#xff09;| 线程模型》中知道Redis是单线程。Redis除了处…