From 2bb5fc48da8056d2baf995039fd9199569b02152 Mon Sep 17 00:00:00 2001 From: ImAlpha Date: Tue, 4 Jul 2023 17:42:58 -0700 Subject: [PATCH] working, needs refinement on multiple hits --- Top150Interview/274H-Index.py | 38 +++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/Top150Interview/274H-Index.py b/Top150Interview/274H-Index.py index d6aaf45..2a16347 100644 --- a/Top150Interview/274H-Index.py +++ b/Top150Interview/274H-Index.py @@ -3,26 +3,38 @@ def hIndex(citations): :type citations: List[int] :rtype: int """ - citations.sort() - h = citations[0] - count = 0 - newH = 0 + h = 0 if len(citations) == 1: if citations[0] == 0: return 0 else: return 1 for x in range(len(citations)): - if h == citations[x]: - newH = citations[x] - elif citations[x] > h and newH == 0: - newH = citations[x] - # print(newH) - print(newH) - return newH + count = 0 + for i in range(x,len(citations)): + print((f'x is {citations[x]}')) + print((f'i is {citations[i]}')) + if citations[x] <= citations[i] and citations[x] != 0: + print('hit') + count += 1 + if count >= citations[x] and citations[x] != 0: + # print(citations[x]) + if citations[x] >= h: + h = citations[x] + # print(h) + elif citations[x] > count and citations[x] != 0 and x+1 == len(citations)-1: + if citations[x] >= h: + h = count + # print(h) + # print(f'final: {h}') + # return h -hIndex([3,0,6,1,5]) # 3 +# hIndex([3,0,6,1,5]) # 3 # hIndex([1,3,1]) # 1 # hIndex([0,1]) # 1 +# hIndex([0,0]) # 1 # hIndex([1,2]) # 1 -# hIndex([2,1]) # 1 \ No newline at end of file +# hIndex([2,1]) # 1 +# hIndex([11,15]) # 2 +# hIndex([1,2,2]) # 2 +hIndex([2,3,2]) # 2 \ No newline at end of file