[ 题目描述 ]:
[ 思路 ]:
- 题目给出一个作者的n篇论文各自的引用次数,要求求一个值h,h的意义是至少有 h 篇论文被引用次数大于等于 h,h是其中最大的值
- 一个最简单的想法就是将h从1开始遍历,并记录
- 当被引用次数大于h的总数大于h时,将h加1,重复这个操作
- 当被引用次数大于h的总数大于h时,返回h
- 当被引用次数大于h的总数小于h时间,返回h-1
- 运行如下
int hIndex(int* citations, int citationsSize) {
int h=1,sum=0;
for(int i=0;i<citationsSize;i++){
for(int j=0;j<citationsSize;j++){
if(citations[j]>=h){
sum++;
}
}
if(sum>h){
h++;
}else if(sum==h){
retur