classSolution{public:inthIndex(vector<int>&citations){constintn=citations.size();intaccumulate=0;vector<int>count(n+1);for(constintcitation:citations)++count[min(citation,n)];// To find the largeset h-index, loop from back to front// I is the candidate h-indexfor(inti=n;i>=0;--i){accumulate+=count[i];if(accumulate>=i)returni;}throw;}};
classSolution{publicinthIndex(int[]citations){finalintn=citations.length;intaccumulate=0;int[]count=newint[n+1];for(finalintcitation:citations)++count[Math.min(citation,n)];// To find the largeset h-index, loop from back to front// I is the candidate h-indexfor(inti=n;i>=0;--i){accumulate+=count[i];if(accumulate>=i)returni;}thrownewIllegalArgumentException();}}
classSolution:defhIndex(self,citations:List[int])->int:n=len(citations)accumulate=0count=[0]*(n+1)forcitationincitations:count[min(citation,n)]+=1# To find the largeset h-index, loop from back to front# I is the candidate h-indexfori,cinreversed(list(enumerate(count))):accumulate+=cifaccumulate>=i:returni