274. H-Index论文引用量
[抄题]:
Given an array of citations (each citation is a non-negative integer) of a researcher, write a function to compute the researcher's h-index.
According to the definition of h-index on Wikipedia: "A scientist has index h if h of his/her N papers have at least h citations each, and the other N − h papers have no more than h citations each."
Example:
Input:citations = [3,0,6,1,5]
Output: 3
Explanation:[3,0,6,1,5]means the researcher has5papers in total and each of them had
received3, 0, 6, 1, 5citations respectively.
Since the researcher has3papers with at least3citations each and the remaining
two with no more than3citations each, his h-index is3.
Note: If there are several possible values for h, the maximum one is taken as the h-index.
[暴力解法]:
时间分析:
空间分析:
[优化后]:
时间分析:
空间分析:
[奇葩输出条件]:
[奇葩corner case]:
[思维问题]:
以为n篇文章的引用量,有什么相互关系:并没有
[一句话思路]:
[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):
[画图]:

[一刷]:
- 累加数组元素的时候最好用一个新的sum 变量,也不占空间。加到数组元素上容易出现范围错误。
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分钟肉眼debug的结果]:
[总结]:
[复杂度]:Time complexity: O(就是n) Space complexity: O(n)
[英文数据结构或算法,为什么不用别的数据结构或算法]:
这题比较特殊,数组元素 = 个数(也可以理解为桶排序)
计数排序(Counting sort)是一种稳定的线性时间排序算法。
计数排序使用一个额外的数组 {\displaystyle C} C ,其中第i个元素是待排序数组 {\displaystyle A} A中值等于 {\displaystyle i} i的元素的个数。
然后根据数组 {\displaystyle C} C 来将 {\displaystyle A} A中的元素排到正确的位置。
[算法思想:递归/分治/贪心]:
[关键模板化代码]:
//for loop : add to bucket
for (int c : citations) {
if (c > n) bucket[n]++;
else bucket[c]++;
}
[其他解法]:
[Follow Up]:
排序后:
[LC给出的题目变变变]:
[代码风格] :
class Solution {
    public int hIndex(int[] citations) {
        //cc
        if (citations == null || citations.length == 0) return 0;
        //ini: bucket[n + 1] form exception
        int n = citations.length;
        int[] bucket = new int[n + 1];
        //for loop : add to bucket
        for (int c : citations) {
            if (c > n) bucket[n]++;
            else bucket[c]++;
        }
        //count from back
        int count = 0;
        for (int i = n; i >= 0; i--) {
            count += bucket[i];
            if (count >= i) return i;
        }
        return 0;
    }
}
274. H-Index论文引用量的更多相关文章
- 275. H-Index II 递增排序后的论文引用量
		[抄题]: Given an array of citations in ascending order (each citation is a non-negative integer) of a ... 
- Java实现 LeetCode 274 H指数
		274. H指数 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数"(hig ... 
- Leetcode 274.H指数
		H指数 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义: "一位有 h 指数的学者,代表他(她)的 N 篇论文中至多有 ... 
- HDU-6278-Jsut$h$-index(主席树)
		链接: https://vjudge.net/problem/HDU-6278 题意: The h-index of an author is the largest h where he has a ... 
- ZFNet(2013)及可视化的开端
		目录 写在前面 网络架构与动机 特征可视化 其他 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 ZFNet出自论文< Visualizing and Unde ... 
- [LeetCode] 274. H-Index H指数
		Given an array of citations (each citation is a non-negative integer) of a researcher, write a funct ... 
- 274 H-Index H指数
		给定一位研究者的论文被引用次数的数组(被引用次数是非负整数).写一个方法计算出研究者的H指数.H-index定义: “一位科学家有指数 h 是指他(她)的 N 篇论文中至多有 h 篇论文,分别被引用了 ... 
- 【论文阅读】CVPR2021: MP3: A Unified Model to Map, Perceive, Predict and Plan
		Sensor/组织: Uber Status: Reading Summary: 非常棒!端到端输出map中间态 一种建图 感知 预测 规划的通用框架 Type: CVPR Year: 2021 引用 ... 
- H指数
		H指数是用来综合衡量学者发表论文的数量和质量的指标,若某学者共发表N篇论文,H指数是指存在h 篇论文至少每篇有h 引用量,剩下的N-h篇中,每篇都不超过h引用量 计算H指数的方法:1.排序法思路:先将 ... 
随机推荐
- 在 FastAdmin 中启动 ThinkPHP 5 的请求缓存分析
			在 FastAdmin 中启动 ThinkPHP 5 的请求缓存分析 缓存的基础配置 ThinkPHP 5 中有一个请求缓存:1 'request_cache' => true, 'reques ... 
- 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode
			原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ... 
- oracle之 oracle database vault(数据库保险库)
			在12c建库中 Database Vault 与 Label Security 选项,之前没有留意过,特意记录一下 12.1 中: 12.2 中: 转载:http://www.linuxidc.co ... 
- @RequestParam和@RequestBody的区别-------springMVC
			https://blog.csdn.net/qq_27093465/article/details/50519444 @RequestParam 1,用来处理Content-Type: 为 appli ... 
- POJ 3684 Physics Experiment(弹性碰撞)
			Physics Experiment Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2936 Accepted: 104 ... 
- [Java.web]Web应用结构
			以Web应用放在 Tomcat\webapps\ 目录下为例 day01 目录 | |------------- html.jsp.css.js 文件等 |------------- ... 
- Hive使用druid做连接池代码实现
			配置文档 hive_jdbc_url=jdbc:hive2://192.168.0.22:10000/default hive.dbname=xxxxx hive_jdbc_username=root ... 
- MapReduce项目中的一个JVM错误问题分析和解决
			最近一周都在查项目的各种问题,由于对原有的一个MapReduce分析数据的项目进行重构,减少了运行时的使用资源,但是重构完成后,在Reduce端总是不定时地抛出JVM的相关错误,非常随机,没有发现有什 ... 
- Java复习——网络编程
			Java从最开始就是支持网络编程的,也正是网络使Java得到发展繁荣.在这里我记录一下如何使用Java进行网络编程,什么是Socket以及Java实现TCP,UDP的编程模型. InetAddress ... 
- Servlet的复习
			Servlet概述 在JavaWeb阶段,使用Servlet是很经常的是事情,Servlet作为MVC中控制器(C)的存在,是不可缺少的一部分.当然Servlet作为JavaWeb的三大组件之一(其他 ... 
