LintCode领扣算法问题答案:645. 识别名人
发布日期:2021-06-30 17:13:35
浏览次数:2
分类:技术文章
本文共 1558 字,大约阅读时间需要 5 分钟。
645. 识别名人
描述
假设你和 n 个人在一个聚会中(标记为 0 到 n - 1),其中可能存在一个名人。名人的定义是所有其他 n - 1 人都认识他/她,但他/她不知道任何一个。
现在你想要找出这个名人是谁或者验证这个名人不存在。你唯一可以做的事情就是提出如下问题:“你好,A,你认识B吗?” 来获取A是否认识B。您需要通过询问尽可能少的问题(以渐近的意义)来找出名人是谁(或验证其不存在)。 你得到一个辅助函数 bool know(a,b),它会告诉你A是否知道B.实现一个函数 int findCelebrity(n),你的函数应该使 knows 的调用次数最少。- 如果在这个聚会中有名人, 那么有且只有一个。如果有名人在聚会中则返回名人的标签,如果没有名人,返回 -1。
样例 1:
输入: 2 // 接下来n*(n-1)行 0 knows 1 1 does not know 0输出: 1解释: 所有人都认识1,而且1不认识其他人。
样例 2:
输入: 3 // 接下来n*(n-1)行 0 does not know 1 0 does not know 2 1 knows 0 1 does not know 2 2 knows 0 2 knows 1输出: 0解释: 所有人都认识0,而且0不认识其他人。 0不认识1,同时1认识0。 2认识所有人,但是1不认识2。
文章目录
题解
/* The knows API is defined in the parent class Relation. boolean knows(int a, int b); */public class Solution extends Relation { /** * @param n a party with n people * @return the celebrity's label or -1 */ public int findCelebrity(int n) { // Write your code here for (int i = 0; i < n; i++) { boolean ok = true; for (int j = 0; j < n; j++) { if (i == j) { continue; } if (knows(i, j)) { ok = false; break; } if (!knows(j, i)) { ok = false; break; } } if (ok) { return i; } } return -1; }}
最后说两句
非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~
作者水平有限,如果文章内容有不准确的地方,请指正。
希望小伙伴们都能每天进步一点点。
声明
本文由博客原创,转载请注明来源,谢谢~
转载地址:https://le-yi.blog.csdn.net/article/details/114825299 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月07日 16时27分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
iOS Xcode 8 快捷键 (注释 失效 处理)
2019-04-30
self与self class有什么用法上的区别
2019-04-30
清理app应用程序的缓存
2019-04-30
字符串排序和characterAtIndex:i 方法
2019-04-30
自定义pch文件,设置宏定义
2019-04-30
java三大框架的理解
2019-04-30
Apache与Nginx的优缺点比较
2019-04-30
apache和tomcat
2019-04-30
Uinux/linux vi保存退出命令 (如何退出vi)
2019-04-30
Mac下安装mysql服务及基于workbench的使用方法
2019-04-30
mysql 入门基本命令
2019-04-30
编辑器、编译器和链接器的概念和区别
2019-04-30
FTP协议与HTTP协议的区别
2019-04-30
为什么要用堡垒机,堡垒机能给公司带来什么?
2019-04-30
常用的Mysql数据库操作语句大全
2019-04-30
ThinkPHP中 C(),D(),S()
2019-04-30
在Mac环境下配置tomcat
2019-04-30
Web工程目录和tomcat目录
2019-04-30
PHP中 ->和=>的区别是什么
2019-04-30
数据库主从分离
2019-04-30