classSolution{public:intfindCelebrity(intn){intcandidate=0;// Everyone knows the celebrity.for(inti=1;i<n;++i)if(knows(candidate,i))candidate=i;// The candidate knows nobody and everyone knows the celebrity.for(inti=0;i<n;++i){if(i<candidate&&knows(candidate,i)||!knows(i,candidate))return-1;if(i>candidate&&!knows(i,candidate))return-1;}returncandidate;}};
1 2 3 4 5 6 7 8 91011121314151617181920
publicclassSolutionextendsRelation{publicintfindCelebrity(intn){intcandidate=0;// Everyone knows the celebrity.for(inti=1;i<n;++i)if(knows(candidate,i))candidate=i;// The candidate knows nobody and everyone knows the celebrity.for(inti=0;i<n;++i){if(i<candidate&&knows(candidate,i)||!knows(i,candidate))return-1;if(i>candidate&&!knows(i,candidate))return-1;}returncandidate;}}
1 2 3 4 5 6 7 8 910111213141516171819202122
# The knows API is already defined for you.# Returns a bool, whether a knows b# Def knows(a: int, b: int) -> bool:classSolution:deffindCelebrity(self,n:int)->int:candidate=0# Everyone knows the celebrity.foriinrange(1,n):ifknows(candidate,i):candidate=i# The candidate knows nobody and everyone knows the celebrity.foriinrange(n):ifi<candidateandknows(candidate,i)ornotknows(i,candidate):return-1ifi>candidateandnotknows(i,candidate):return-1returncandidate
Thanks for stopping by! If you find this site helpful, consider buying me some protein powder to keep me fueled! π