Problem: 277. 搜寻名人
方案
观察表格可知,名人是所在列都是1,所在行除去(i, i)以外都是0的i,所以直接搜索对角线就行
复杂度
时间复杂度:
添加时间复杂度, 示例: O ( n 2 ) O(n^2) O(n2)
空间复杂度:
添加空间复杂度, 示例: O ( n 2 ) O(n^2) O(n2)
Code
/* The knows API is defined for you.
bool knows(int a, int b); */
class Solution {
public:
int findCelebrity(int n) {
for(int i = 0; i < n; i++) {
int tr = 9;
for(int j = 0; j < n; j++) {
if(i==j) continue;
if(knows(i, j)) {
tr = -9;
break;
}
}
if(tr < 0) continue;
for(int j = 0; j < n; j++) {
if(i==j) continue;
if(!knows(j, i)) {
tr = -9;
break;
}
}
if(tr > 0) return i;
}
return -1;
}
};