当前位置: 首页 > news >正文

leetcode_274 H指数

1. 题意

在数组中找到最大的k, 使得至少k个数不小于k

H指数

2. 题解

2.1 排序

从大到小排序完后,直接模拟即可。

class Solution {
public:int hIndex(vector<int>& citations) {sort( citations.begin(), citations.end() );int res = 0;int cur = citations.size() - 1;while ( cur > -1) {if (res + 1 > citations[cur])break;++res;--cur;}return res;}
};
2.2 计数排序

假设共发表了k篇论文,则H指数最大值为k;再看数据范围则可以缩小,用计数排序进行统计结果,最后从后往前遍历,当累计的论文数大于当前idx, 则返回结果。

class Solution {
public:int hIndex(vector<int>& citations) {int sz = citations.size();int arr[5000+1];memset(arr, 0, sizeof(arr));for (auto &v: citations) {if (v > sz)arr[sz]++;elsearr[v]++;}int res = 0;int cnt = 0;for (int i = sz; i > 0; --i) {cnt += arr[i];if ( cnt >= i ) {res = i;break;}}return res;}
};
2.3 二分查找

由于答案在一定范围,所以可以二分答案,每次判断是否满足H指数的定义。


class Solution {
public:int hIndex(vector<int>& citations) {int sz = citations.size();int l = 0;int r = sz;int ans = 0;function<int(const vector<int> &, int)>p = [&](const vector<int> &arr, int b)->int{int ans = 0;for (auto v:arr)if (v >= b)++ans;return ans;};while ( l < r) {int mid = l + (r - l + 1 >> 1);int cnt = p(citations, mid);if ( cnt >= mid )l = mid;elser = mid - 1;}return l;}
};

相关文章:

leetcode_274 H指数

1. 题意 在数组中找到最大的k, 使得至少k个数不小于k。 H指数 2. 题解 2.1 排序 从大到小排序完后&#xff0c;直接模拟即可。 class Solution { public:int hIndex(vector<int>& citations) {sort( citations.begin(), citations.end() );int res 0;int cur …...

微服务框架Consul--新手入门

Consul Consul 是由 HashiCorp 开发的一款软件工具&#xff0c;提供了一组功能&#xff0c;用于服务发现、配置管理和网络基础设施自动化。它旨在帮助组织管理现代分布式和微服务架构系统的复杂性。以下是Consul的一些关键方面和功能&#xff1a; 服务发现&#xff1a;Consul …...

docker运行syslog-ng,搭建日志服务器

Splunk 的数据很多是用syslog-ng 来收集的。 使用docker 来搭建syslog-ng 服务器还是很方便的。 #create network docker network create -d macvlan --subnet=192.7.0.0/16 --gateway=192.7.0.1 -o parent=ens35 docker-out docker network create -d macvlan --ipv6 --sub…...

Redis代替session实现用户验证

一、Redis代替session实现用户验证。 下图是session的实现登录需要实现的代码模块&#xff0c;虽然可以实现完整功能&#xff0c;但是仍然存在一些问题。 在以往使用session当作用户验证的过程中&#xff0c;会有session共享的问题&#xff0c;每次承担请求的tomcat是不一样…...

Ubuntu 内核降级到指定版本

reference https://www.cnblogs.com/leebri/p/16786685.html 前往此网站&#xff0c;找到所需的内核 https://kernel.ubuntu.com/~kernel-ppa/mainline/ 查看系统架构 dpkg --print-architecture 二、下载安装包 注意&#xff1a;下载除lowlatency以外的deb包 三、安装内核 3…...

uniapp开发app,在ios真机上出现的css样式问题

比如下面的问题&#xff0c;在iphone 13上出现&#xff0c;在iphone xR上正常。 问题一&#xff1a;border:1rpx造成边框显示不全 在iphone13上border边框有一部分不显示&#xff1a; 在iphone xR上显示正常&#xff1a; 解决办法是&#xff1a; 将border边框设置中的1rpx改…...

uniapp 页面间传参方法

页面之间传参大概可分为以下几种情况&#xff1a; 上级页面 → 下级页面&#xff08;单向&#xff09;上级页面 ← 下级页面&#xff08;单向&#xff09;上级页面 ↔ 下级页面&#xff08;双向&#xff09; 一、上级页面 → 下级页面&#xff08;单向&#xff09; uni.naviga…...

【年终特惠】基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升

根据生态环评内容庞杂、综合性强的特点&#xff0c;依据生态环评最新导则&#xff0c;将内容分为4大篇章(报告篇、制图篇、指数篇、综合篇)、10大专题(生态环评报告编制、土地利用图的制作、植被类型及植被覆盖度图的制作、物种适宜生境分布图的制作、生物多样性测定、生物量及…...

驱动开发7 基于GPIO子系统编写LED驱动,编写应用程序进行测试设置定时器,5秒钟打印一次hello world

驱动代码 #include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_gpio.h> #include <linux/gpio.h> #include <linux/timer.h> #include <linux/of_irq.h> #include <linux/interrupt.h…...

亚马逊云科技为奇点云打造全面、安全、可扩展的数据分析解决方案

刘莹奇点云联合创始人、COO&#xff1a;伴随云计算的发展&#xff0c;数据技术也在快速迭代&#xff0c;成为客户迈入DT时代、实现高质量发展的关键引擎。我们很高兴能和云计算领域的领跑者亚马逊云科技一同&#xff0c;不断为客户提供安全可靠的产品与专业的服务。 超过1500家…...

应用案例|基于三维机器视觉的曲轴自动化上下料应用方案

Part.1 项目背景 此案例服务对象为国内某知名大型汽车零部件制造工厂&#xff0c;该工厂有针对曲轴工件的自动化上下料需求。由于之前来料码放不规范&#xff0c;工件无序散乱摆放&#xff0c;上料节拍要求高&#xff0c;该工厂上下料效率极低。 Part.2 传统曲轴上下料存在的缺…...

关于ios和Android手机的下载pdf文件功能探讨

现象 在工作中遇到了一个需求,在app中需要对一些协议(pdf格式的)进行下载,实现方法创建a标签,设置href的值为下载地址,设置download属性,调用a标签的点击事件进行下载,在Android手机中是调起默认浏览器的下载功能(正常现象,可以实现功能),但是在ios手机中是直接进行文件的有预…...

医疗安全不良事件管理系统源码(PHP+ vue+laravel)

医疗安全不良事件管理系统全套源码 不良事件上报系统源码 不良事件管理系统帮助医院梳理建立不良事件上报与管理的一体化解决方案&#xff0c;包含上报内容、归口科室、上报流程及管理办法。提供面向医院的不良事件全过程管理平台&#xff0c;包含事件上报、事件处理、事件追踪…...

基于ISO13209(OTX)实现引导诊断

在之前的文章《基于ISO13209&#xff08;OTX&#xff09;实现EOL下线序列》中&#xff0c;讲到了OTX的由来以及OTX在EOL中的实现案例&#xff0c;而本文将讲述OTX的另一个广阔应用场景——定义引导诊断序列。 一 何为引导诊断&#xff1f; 引导诊断&#xff0c;通常也称为“引…...

不一样的网络协议-------KCP协议

1、kcp 的协议特点 1.1、RTO 不翻倍 RTO(Retransmission TimeOut)&#xff0c;重传超时时间。tcp x 2&#xff0c;kcp x 1.5&#xff0c;提高传输速度 1.2、选择重传 TCP丢包时会全部重传从该包开始以后的数据&#xff0c;而KCP选择性重传&#xff0c;只重传真正丢失的数据包…...

前端-关于分辨率和屏幕大小关系的浅谈

最近在工作中&#xff0c;总有些非前端小伙伴在问分辨率和屏幕的大小关系问题&#xff0c;故在此记录一下&#xff0c;方便不清楚的小伙伴订阅观看。 一&#xff0c;分辨率跟屏幕大小关系 &#xff08;1&#xff09;分辨率跟屏幕大小有关吗&#xff1f; 前端中的分辨率与屏幕…...

where怎么等于多个值,sql where多个值

在SQL中&#xff0c;可以使用IN和OR操作符来匹配多个值&#xff0c;以在WHERE语句中执行过滤。以下是一些示例&#xff1a; 使用IN操作符匹配多个值 可以使用IN操作符来匹配多个可能的值&#xff0c;如下所示&#xff1a; SELECT * FROM 表名 WHERE 字段名 IN (值1, 值2, 值3…...

02.Oracle的启动过程

Oracle的启动过程 一、Oracle数据库的四种状态二、Oracle的启动过程 一、Oracle数据库的四种状态 Oracle数据库有四种状态&#xff1a;SHUTDOWN、NOMOUNT、MOUNT、OPEN. 1.SHUTDOWN状态 数据库没有启动 2.NOMOUNT状态 启动了instance&#xff08;数据库实例&#xff09;启动…...

git跳过用户名密码验证,以及配置credential-helper

平时我们在使用git命令时&#xff0c;如果使用http方式拉取代码每次都需要使用填写用户名和密码&#xff0c;非常的麻烦。 如何才能绕过每次繁琐的填充? 如果想要绕过git的交互方式&#xff0c;首先需要了解git的密码存储机制。 git使用的使用是一种名叫**[credential helpe…...

web前端常见开发工具汇总 你用过几个?

搬运旗下公众号的内容~ 目录 1.记事本 2.Visual studio code 3.Hbuilder 4.Eclipse 5.Webstorm 6.Notepad 随着信息时代的不断进步&#xff0c;互联网在人类社会中所占的地位愈发举足轻重。大大小小的网站&#xff0c;构成了如今光怪陆离的网络社会。我们知道&#xff0c…...

TIA Portal精智面板动画外观实战:从基础图形到变量控制

1. 精智面板动画外观入门指南 第一次接触TIA Portal的精智面板动画功能时&#xff0c;我被它强大的可视化能力惊艳到了。简单拖拽几个图形&#xff0c;关联PLC变量&#xff0c;就能实现酷炫的工业界面效果。下面我就用最直白的语言&#xff0c;带大家从零开始玩转这个功能。 首…...

ZYNQ双核通信必看:共享内存的Cache一致性处理实战

ZYNQ双核通信中的Cache一致性实战指南 在嵌入式系统开发中&#xff0c;多核处理器间的数据共享一直是开发者面临的挑战之一。Xilinx ZYNQ系列SoC凭借其ARM双核Cortex-A9架构与可编程逻辑的完美结合&#xff0c;为高性能嵌入式应用提供了强大支持。然而&#xff0c;当两个核心需…...

3步解锁Umi-OCR服务化潜能:让自动化文字识别融入工作流

3步解锁Umi-OCR服务化潜能&#xff1a;让自动化文字识别融入工作流 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件&#xff0c;适用于Windows系统&#xff0c;支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/Git…...

如何快速部署AI模型:免费本地化解决方案完整指南

如何快速部署AI模型&#xff1a;免费本地化解决方案完整指南 【免费下载链接】LocalAI mudler/LocalAI: LocalAI 是一个开源项目&#xff0c;旨在本地运行机器学习模型&#xff0c;减少对云服务的依赖&#xff0c;提高隐私保护。 项目地址: https://gitcode.com/GitHub_Trend…...

【数字信号检测】迫零算法大规模MIMO低复杂度信号检测【含Matlab源码 15237期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab领域博客之家&#x1f49e;&…...

GEO数据整合实战:跨越批次效应的多队列联合分析

1. GEO数据整合的核心挑战 当你手头有多个GEO数据集时&#xff0c;就像收集了来自不同实验室的实验笔记。我处理过GSE83521和GSE89143的联合分析&#xff0c;发现最大的障碍就是批次效应——就像不同厨师用相同菜谱做菜&#xff0c;味道总会有些差异。这种差异可能来自实验时间…...

Z-Image Turbo与Vue3前端框架集成实战

Z-Image Turbo与Vue3前端框架集成实战 本文详细介绍了如何在Vue3项目中集成Z-Image Turbo图像生成API&#xff0c;通过WebSocket实现实时图像生成功能&#xff0c;并提供完整的组件封装方案。 1. 引言 前端开发者经常面临一个挑战&#xff1a;如何在Web应用中集成强大的AI图像…...

只剩马斯克自己!xAI 11个联合创始人跑光了

11位联合创始人三年出清、只剩马斯克一人&#xff0c;xAI这场「天团散伙」背后&#xff0c;藏着AI时代最残酷的人才战争与帝国裂缝。3月28日&#xff0c;Ross Nordeen悄悄摘掉了自己在X平台上的xAI员工认证标识。他发了一张照片——「触碰一些草」。没有长篇告别信&#xff0c;…...

解锁7大加密场景:Cryptii离线工具全攻略

解锁7大加密场景&#xff1a;Cryptii离线工具全攻略 【免费下载链接】cryptii Web app and framework offering modular conversion, encoding and encryption 项目地址: https://gitcode.com/gh_mirrors/cr/cryptii 在数字化时代&#xff0c;数据安全与格式转换成为开发…...

Qt+OpenCV+海康SDK实战:多线程回调架构下的实时视频流解码与Mat转换全流程解析

1. 项目背景与核心挑战 在智能安防和视频监控领域&#xff0c;实时视频流处理一直是技术难点。传统方案往往面临三个关键问题&#xff1a;视频流延迟高、解码效率低下、跨平台兼容性差。这正是我们选择QtOpenCV海康SDK技术栈的原因——Qt提供跨平台GUI支持&#xff0c;OpenCV负…...