当前位置: 首页 > 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…...

U-Boot MMC DM驱动移植实战:从设备树配置到调试排错

1. 项目概述与核心价值最近在为一个基于i.MX6UL的工控板卡适配新的eMMC存储芯片时&#xff0c;又和U-Boot的MMC驱动打了一次交道。这让我想起&#xff0c;很多嵌入式开发者在进行板级移植或更换存储介质时&#xff0c;面对U-Boot中那套基于设备模型&#xff08;Device Model, D…...

告别臃肿软件!OmenSuperHub:惠普暗影精灵的纯净硬件控制神器

告别臃肿软件&#xff01;OmenSuperHub&#xff1a;惠普暗影精灵的纯净硬件控制神器 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 厌倦了官方Omen Gamin…...

Linux挖矿木马Linux.BtcMine.174技术剖析与防御实战

1. 新型Linux挖矿木马深度剖析&#xff1a;从Linux.BtcMine.174看现代恶意软件的演进最近安全圈里一个来自俄罗斯Dr.Web公司的分析报告引起了我的注意&#xff0c;他们披露了一个代号为Linux.BtcMine.174的新型木马。这玩意儿可不是什么小打小闹的脚本小子作品&#xff0c;而是…...

Claude插件开发实战:从架构设计到生产部署的完整指南

1. 项目概述&#xff1a;Claude插件生态的“瑞士军刀”如果你和我一样&#xff0c;长期在AI应用开发的一线摸爬滚打&#xff0c;那你一定对Claude这个AI模型不陌生。它强大的推理能力和对长文本的友好处理&#xff0c;让很多开发者都将其作为构建智能应用的核心引擎。但一个模型…...

NIPAP:开源IP地址管理平台如何实现企业级网络规划效率提升300%

NIPAP&#xff1a;开源IP地址管理平台如何实现企业级网络规划效率提升300% 【免费下载链接】NIPAP Neat IP Address Planner - NIPAP is the best open source IPAM in the known universe, challenging classical IP address management (IPAM) systems in many areas. 项目…...

期权量化交易基础库:模块化设计与回测实战指南

1. 项目概述&#xff1a;一个为期权交易者打造的“地基” 如果你在量化交易或者期权策略开发领域摸爬滚打过一段时间&#xff0c;大概率会和我有同样的感受&#xff1a;每次想测试一个新想法&#xff0c;都得从零开始搭建数据接口、计算希腊字母、管理仓位、回测框架……这些重…...

手机拍电脑屏幕总有水波纹?一文搞懂Sensor Flicker与Banding现象(附避坑指南)

手机拍屏幕水波纹全解析&#xff1a;从频闪原理到实战避坑指南 你是否遇到过这样的尴尬时刻——用手机拍摄电脑屏幕上的重要内容&#xff0c;结果照片或视频里布满诡异的水波纹和条纹&#xff1f;这种令人抓狂的现象并非手机质量问题&#xff0c;而是Sensor Flicker与Banding这…...

3分钟掌握:U校园智能刷课自动化终极实战指南

3分钟掌握&#xff1a;U校园智能刷课自动化终极实战指南 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 还在为重复的网课练习消耗宝贵时间而烦恼吗&#xff1f;AutoUnipus智能刷…...

SolidWorks二次开发踩坑记:Python调用SaveAs函数时,那些让人头疼的Errors和Warnings详解

SolidWorks二次开发实战&#xff1a;Python调用SaveAs函数时的错误码解析与解决方案 当你在深夜加班调试SolidWorks二次开发脚本时&#xff0c;SaveAs函数突然返回False&#xff0c;错误码像摩尔斯电码一样难以解读——这种经历恐怕每个工业软件开发者都深有体会。本文将深入剖…...

从原理到实战:拆解LCR表如何实现0.1%精度的电容测量(附寄生效应消除指南)

从原理到实战&#xff1a;拆解LCR表如何实现0.1%精度的电容测量&#xff08;附寄生效应消除指南&#xff09; 在电子工程领域&#xff0c;精确测量电容值是一项基础却极具挑战性的任务。无论是研发高频电路的设计师&#xff0c;还是调试精密仪表的工程师&#xff0c;亦或是研究…...