leetcode之H-index &&H-index II
来源:互联网 发布:护肤品成分查询软件 编辑:程序博客网 时间:2024/04/30 05:41
题目略,思想相同
解答:
主要就是先排序,然后找到最大的h,在找最大的过程中,可以建模称为一个线相交题目
经过分析可以发现,最大h就是citation这个数组和size - pos(pos是数组下标,size是数组的大小)这两个线连接起来的交点
1.两条线确实有交点,并且交点的横坐标是x,那么这个时候就直接h就是size - x
2.有交点,但是交点的横坐标不是整数,这 个时候就是距离交点x最近的整点的横坐标t,h就是size - t
3.无交点,这个时候直接就是min(citation,size - pos)
综上所述,可以直接用二分搜索查找最近的相交点即可
class Solution {public: int min(int a,int b) { return a < b ? a : b; } int hIndex(vector<int>& citations) { int l = 0; int size = citations.size(); if(size == 0) return 0; int r = size - 1; int mid; while(l < r) { mid = (l + r) >> 1; if(citations[mid] == size - mid) return size - mid; else if(citations[mid] < size - mid) l = mid + 1; else r = mid; } return min(citations[l],size - l); }};
0 0
- leetcode之H-index &&H-index II
- leetcode之H-index II
- Leetcode: H-Index II
- Leetcode: H-Index II
- [LeetCode]H-Index II
- H-Index II -- leetcode
- LeetCode H-Index II
- leetcode H-Index II
- [Leetcode]H-Index II
- [LeetCode] H-Index II
- LeetCode -- H-Index II
- [LeetCode]H-Index II
- LeetCode:H-Index II
- 【Leetcode】H-Index II
- Leetcode H-Index II
- leetcode:H-Index II
- LeetCode H-index and H-index II
- leetcode 之 H-index
- LeetCode题解:Palindrome Number
- 【bzoj3238】[Ahoi2013]差异 后缀数组+单调栈
- 【leetcode】Array——Remove Duplicates from Sorted Array(26)
- 《基于MFC的OpenGL编程》Part 5 Keyboard and Mouse Control
- 将1234567890转换成1,234,567,890每3位用逗号隔开的形式(百度)
- leetcode之H-index &&H-index II
- 手动操作导航控制器的子视图控制器的数组
- 【数据结构与算法】五 兔子数列 斐波那契数列
- 《leetCode》:Triangle
- UVA 10474 Where is the Marble? (STL)
- 文件IO
- HDU 5620 KK's Steel 斐波那契
- pyhton处理字符串(1)
- 《Unix高级环境编程》第八章 进程控制