首页 > 其他 > 详细

关于阿里的明星问题之我见

时间:2015-01-12 02:00:50      阅读:325      评论:0      收藏:0      [点我收藏+]
今天看面试题看到了阿里的明星问题,觉得大家说的太高深了,说一下我的解法吧:

题目:有N个人,其中一个明星和n-1个群众,群众都认识明星,明星不认识任何群众,群众和群众之间的认识关系不知道,现在如果你是机器人R2T2,你每次问一个人是否认识另外一个人的代价为O(1),试设计一种算法找出明星,并给出时间复杂度(没有复杂度不得分)。

我的解法( 复杂度O(n) ):
// bool known(A, B) 问A认识B不?
Person persons[n];
// init personsbubuko.com,布布扣
Person p = persons[0];
for(int i = 1; i < n; i++) {
    if(!known(persons[i], p)) { // 不认识,说明p不是明星
      p = persons[i];
    }
    // else 认识,说明persons[i]不是明星
}
// p 就是所求的明星

关于阿里的明星问题之我见

原文:http://www.blogjava.net/china-qd/archive/2015/01/11/422174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!