每日一题——LeetCode997
2024-01-01 14:40:13
方法一 个人方法:
这题的意思就是1-n里面找到一个数,它不指向任何数,其他数都要指向它
- 找到没有指向任何数的那个idx,如果不存在这样的数那么就返回-1
- 如果找到了这样的数,还要继续判断其它的所有数是否都指向它,我们可以统计共有多少个数指向idx,用count记录,如果count===n-1就代表除他自己之外其他数都指向idx
var findJudge = function(n, trust) {
var set = new Set(),idx,count=0
for(var arr of trust){
set.add(arr[0])
}
for(var i=1;i<=n;i++){
if(!set.has(i)){
idx=i
}
}
if(!idx) return -1
for(var arr of trust){
if(arr[1]===idx){
count++
}
}
if(count===n-1) return idx
else return -1
};
消耗时间和内存情况:
优化一下:
相信别人自己 --,被别人相信自己++,按照题意法官不会相信别人,并且其他人都相信法官,那么如果存在法官,他的值应该等于n-1
var findJudge = function(n, trust) {
var arr = new Array(n+1).fill(0)
for(var item of trust){
arr[item[0]]--
arr[item[1]]++
}
for(var i=1;i<=n;i++){
if(arr[i]==n-1){
return i
}
}
return -1
};
消耗时间和内存情况:?
文章来源:https://blog.csdn.net/weixin_52878347/article/details/135323614
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!