名人问题
来源:互联网 发布:互相点击软件 编辑:程序博客网 时间:2024/04/27 16:43
名人的定义:他不认识任何人,任何人都认识他 (最多有一个名人)
和众数问题的框架很像,都是维护一个candidate,然后扫一遍,不断排除,最后的唯一的可能性就是candidate,验证这个candidate
1)取第一个做为candidate
2) 遍历剩余的人,如果 candidate knows i, 排除当前candidate,换成i;否则排除i, candidate不变
3)不变式:已经考察过的人,要么被排除是名人的可能性,要么在candidate里
4)循环结束时,只有剩下的candidate没有确定,单独验证之。
bool knows(int a, int b);int celebrity(int n) {int x = 0;for (int i = 1; i < n; ++i) {if (knows(x, i)) i = x;}for (int i = 0; i < n; ++i) {if (i != x && knows(x, i) || !knows(i, x)) return -1;}return x;}
0 0
- 名人问题
- 名人问题
- 名人问题
- 归纳法之名人问题
- 名人问题 (Celebrity problem)
- 名人问题 (Celebrity problem)
- 名人问题 (Celebrity problem)
- 面试题---名人识别问题
- 名人
- 名人
- 算法谜题81 再论名人问题
- 家乡名人
- 古代名人
- 信阳名人
- 名人逸事
- 名人留言
- 名人名家
- 名人文学作品
- js图片上传预览
- JAVA学习第十四天
- 【读书笔记】iOS-安全地传输用户密码的方法
- ASP.NET Web API 支持 CORS
- 设计模式特点收藏
- 名人问题
- 注解,反射,多线程,死锁
- Android L metral design风格之CardView
- myibatis传多个参数
- servlet的生命周期
- Redis On Windows 安装测试
- Java NIO原理 图文分析及代码实现
- Web API核查表:设计、测试、发布API时需思考的43件事
- 不容易产生过拟合的算法