力扣H指数——简约做法

Problem: 274. H 指数

文章目录

思路

最后的结果一定不会超过下标个数。应为文章也要大于这个h,h超过了文章总数,就永远不会存在这么多的文章满足条件,所以只需要循环下标,那么最后的结果呢?

解题方法

由于排了序,所以后面的文章引用数量一定大于等于目前的数量,能不能以文章的引用为判断呢,不能,设想6 6 6 6 6 6 6 6 6 ,如果以引用方式,我们发现我们只能判断6,但是很明显中间的6可以满足条件,因为不同的文章数量也会影响结果,所以这种思路是错的。所以目标就是,如果目前位置开始所有的文章数量比引用数量来的要小,那么就满足条件。

复杂度

时间复杂度:

O ( n l o g n ) O(nlogn) O(nlogn)

空间复杂度:

O ( n l o g n ) O(nlogn) O(nlogn)

Code

Java 复制代码
class Solution {
    public int hIndex(int[] citations) {
        Arrays.sort(citations);
        int ans=0;
        for(int i = 0;i <= citations.length-1; i++){
            if(citations.length-i<=citations[i]){
                ans = Math.max(ans,citations.length-i);
            }
        }
        return ans;
    }
}
相关推荐
小O的算法实验室2 分钟前
2025年SEVC,面向进化计算的学习注入式优化,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
啊我不会诶12 分钟前
2024北京市赛补题
c++·算法
shehuiyuelaiyuehao12 分钟前
算法13,滑动窗口,水果成篮
算法·哈希算法·散列表
智慧物业老杨13 分钟前
物业数智化转型实战:从单一服务到综合解决方案的技术落地路径
人工智能·算法·ai
夏末蝉未鸣0116 分钟前
Sort-Merge Join【排序连接算法】详解(python代码实现,以FULL JOIN为例)
数据结构·算法
tjl521314_2123 分钟前
01C++ 分离编译与多文件编程
前端·c++·算法
_日拱一卒24 分钟前
LeetCode:23合并K个升序链表
java·数据结构·算法·leetcode·链表·职场和发展
哆啦刘小洋27 分钟前
【LeetCode每日一题】:2033(贪心+快速排序魔改)
算法·leetcode
WolfGang00732130 分钟前
代码随想录算法训练营 Day48 | 图论 part06
算法·图论
cheems952735 分钟前
[算法手记] 动态规划 ,二维费用限制背包问题如何处理
算法·动态规划