Skip to content

Latest commit

 

History

History

277.Find-the-Celebrity

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

277.Find-the-Celebrity

我们讨论knows(i,j)的结果。如果结果是true,那么i肯定不是明星。如果结果是false,那么j肯定不是明星。可见每一次调用knows,就可以筛除一个人。因此我们可以设计“打擂台”的机制,将所有的人轮转一遍,赢的人留下来,输的人淘汰,那么最终我们只会存留一个人。

但是对于这个最终存留的人我们还需要再次验证它是不是明星。所以还需要再调用将所有人轮转一遍,如果knows(candidate,i)||!knows(i,candidate),那么这个候选人也不是明星。