每日一题——LeetCode997

方法一 个人方法:

这题的意思就是1-n里面找到一个数,它不指向任何数,其他数都要指向它

  1. 找到没有指向任何数的那个idx,如果不存在这样的数那么就返回-1
  2. 如果找到了这样的数,还要继续判断其它的所有数是否都指向它,我们可以统计共有多少个数指向idx,用count记录,如果count===n-1就代表除他自己之外其他数都指向idx
javascript 复制代码
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

javascript 复制代码
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
};

消耗时间和内存情况:

相关推荐
程序员大阳7 小时前
副队长JavaScript教程(49)-主动抛出异常与错误类型
javascript·异常处理·error·throw·错误类型
飞Link8 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
hhhjhl8 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
一去不复返的通信er10 小时前
贪心算法-合并区间(LeetCode 56)
算法·leetcode·贪心算法
Shaoshing11 小时前
LeetCode100 49. 字母异位词分组
java·算法
YFJ_mily11 小时前
第二届区块链技术与基础模型国际学术会议(BTFM2027)
算法·区块链·能源·智能系统·rdlink研发家·机器人自动化
Flynt11 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
汤姆宝库11 小时前
收官深拆:第一性原理、产业电网与未来推演
大数据·人工智能·算法
slongzhang_12 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript