题目描述:
Follow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize your algorithm?
Hint:
Expected runtime complexity is in O(log n) and the input is sorted.
题目大意:
H-Index的延伸:如果引用数组是递增有序的,你应该怎样优化算法?
提示:
期望运行时间复杂度为O(log n),并且输入是递增有序的。
解题思路:
二分法(Binary Search),详见代码。
Python代码:
class Solution(object):
def hIndex(self, citations):
"""
:type citations: List[int]
:rtype: int
"""
N = len(citations)
low, high = 0, N - 1
while low <= high:
mid = (low + high) / 2
if N - mid > citations[mid]:
low = mid + 1
else:
high = mid - 1
return N - low
本文链接:http://bookshadow.com/weblog/2015/09/04/leetcode-h-index-ii/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。