[抄题]:

Given an array of citations in ascending order (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 hcitations each."

Example:

Input: citations = [0,1,3,5,6]
Output: 3
Explanation: [0,1,3,5,6] means the researcher has 5 papers in total and each of them had received 0, 1, 3, 5, 6 citations respectively. Since the researcher has 3 papers with at least 3 citations each and the remaining two with no more than 3 citations each, his h-index is 3.

[暴力解法]:

时间分析:

空间分析:

[优化后]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:

从后往前积累的count = length - 从前往后的index

[一句话思路]:

甚至都不知道排序之后要用二分法,算是积累经验了

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. 明确这道题需要找的target: len - index代表文章数量
  2. 还是只有if elseif else的结构才是完整的

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

排序之后要用二分法

[复杂度]:Time complexity: O(lgn) Space complexity: O(n)

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[算法思想:递归/分治/贪心]:

[关键模板化代码]:

非九章还加了等号,感觉就是因题目而异吧

while (lo <= hi) {int med = (hi + lo) / 2;

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

[代码风格] :

class Solution {public int hIndex(int[] citations) {//ccif (citations == null || citations.length == 0) return 0; //ini: lengthint n = citations.length, start = 0, end = n - 1;//for loopwhile (start <= end) {int mid = (end + start) / 2;if (citations[mid] == n - mid) return n - mid;else if (citations[mid] > n - mid) end = mid - 1;else start = mid + 1;}return n - start;}
}

View Code

转载于:https://www.cnblogs.com/immiao0319/p/9023702.html

275. H-Index II 递增排序后的论文引用量相关推荐

  1. LeetCode 981. 基于时间的键值存储 / 274. H 指数 / 275. H 指数 II

    981. 基于时间的键值存储 2021.7.10 每日一题 题目描述 创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作:1. set(string key, string value, ...

  2. leetcode 275. H 指数 II

    给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 .编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数" ...

  3. LeetCode 275. H指数 II(二分查找)

    1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数&q ...

  4. 275. H 指数 II

    难度:中等 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 .编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数 ...

  5. leetcode 274, 275. H-Index I, II(H 指数问题合集,线性查找/二分查找)

    274. H-Index https://leetcode.com/problems/h-index/ 题解 第一遍没看懂题目.看了中文版的题目才明白,是要找到 h,满足总共有 h 篇论文分别被引用了 ...

  6. 将字符串下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p92 5.1.2 上级实训内容 [实训内容7]设有一个字符串为baawrskjghzlicda,将字符 ...

  7. mysql 排序后 下一条记录_Mysql如何使用order by工作

    日常开发中,我们经常要进行字段的排序,但是我们大多不知道排序是如何执行的,今天我们就说说order by 的执行逻辑, CREATE TABLE `t` (`id` int(11) NOT NULL, ...

  8. mysql排序后如何取最前和最后的数据_天天写order by,你知道Mysql底层如何执行吗?...

    作者:不才陈某 前言 在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗?假设你要查询城市是苏州的所有人名字,并且按照姓名 ...

  9. 计算机中用函数排序,编写一个sort()函数,实现选择法排序,在主函数中输入10个整数,主函数调用sort()函数实现排序后将数据输出。...

    编写一个sort()函数,实现选择法排序,在主函数中输入10个整数,主函数调用sort()函数实现排序后将数据输出. 重赏重赏 更新时间:2019-05-06 04:06 最满意答案 #include ...

最新文章

  1. eosjs v20 中文文档
  2. 简洁!get请求和post请求的区别——Web网络系列学习笔记
  3. 80行JavaScript代码实现的贪食蛇游戏,简约之美
  4. tecplot对数坐标轴怎么画_一次更换双速风机接线经历,想通了改变磁极对数原理...
  5. [perl]字符串转拼音首字母(支持多音字)
  6. ember.js mysql_Ember.js 入门指南——控制器(controller)
  7. vss跟tfs_从VSS 2005迁移到TFS 2010后,VS 2008出现“差异”错误
  8. 手把手带你SQLite3快速入门
  9. 应急通信系统|消防应急指挥系统
  10. [C#] NAudio 各种常见使用方式 播放 录制 转码 音频可视化
  11. 高德地图android拖动地图,建议高德地图添加地图拖动事件,添加方法如内容所述...
  12. 0-8 Vue进阶属性(directives、mixins、extends)
  13. 查找算法--01 顺序查找和二分查找
  14. 长安汽车流程体系成熟度评估模型的应用
  15. 2022年高处安装、维护、拆除操作证考试题库模拟考试平台操作
  16. python 享元模式_享元模式(python)
  17. RSRS(阻力支撑相对强度)择时策略(下)
  18. linux 挂载常见错误,mount常见的错误。
  19. 2021-2027全球与中国成像雷达传感器市场现状及未来发展趋势
  20. matlab通信仿真的免费网站 集合

热门文章

  1. 2.9 穆尔彭罗斯伪逆
  2. 钉钉免登陆前端操作详解
  3. python 时间_Python-基础-时间日期处理小结
  4. 【论文学习】Fast End-to-End Trainable Guided Filter
  5. leetcode —— 39. 组合总和
  6. 【例题+习题】【数值计算方法复习】【湘潭大学】(四)
  7. Origin绘制区间图,并添加折线
  8. 网络爬虫中Jsoup请求url
  9. 从0开始详解 Johnson 全源最短路(P5905 【模板】Johnson 全源最短路)
  10. 2017二级c语言选择题,2017年9月计算机二级C语言考试选择题