Here is how I did it :)
Question. A celebrity is someone who everyone else knows about, but does not know anyone. Given N people (with index 0 ... (N -1)), and the function knows that it is defined as follows: knows that (int person0, int person1) = true if person 0 knows person 1, and false, in otherwise, find out the celebrity in N given to people, if any.
// return -1 if there is no celebrity, otherwise return the person’s index / number.
public int celeb(int n) { int probaleCeleb = 0; for(int i =1 ; i < n; i++) { if(knowsOf(probaleCeleb , i)) { // true /false probaleCeleb = i; } } for(int i =0 ; i < n; i++) { if( i != probaleCeleb && (!knowsOf( i , probaleCeleb) || (knowsOf( probaleCeleb , i)) ) { probaleCeleb = -1; break; } } return probaleCeleb; } }
source share