每日一题——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
};

消耗时间和内存情况:

相关推荐
Xの哲學1 分钟前
Linux设备驱动模型深度解剖: 从设计哲学到实战演练
linux·服务器·网络·算法·边缘计算
getapi6 分钟前
在宝塔面板中部署 Vue 项目打包后的 dist 文件作为前端
前端·javascript·vue.js
明洞日记17 分钟前
【CUDA手册002】CUDA 基础执行模型:写出第一个正确的 Kernel
c++·图像处理·算法·ai·图形渲染·gpu·cuda
—Qeyser43 分钟前
Flutter 组件通信完全指南
前端·javascript·flutter
企业对冲系统官1 小时前
基差风险管理系统集成说明与接口规范
大数据·运维·python·算法·区块链·github
程序员-King.1 小时前
day134—快慢指针—环形链表(LeetCode-141)
算法·leetcode·链表·快慢指针
Swift社区1 小时前
LeetCode 376 摆动序列
算法·leetcode·职场和发展
高洁011 小时前
AIGC技术与进展(1)
深度学习·算法·机器学习·transformer·知识图谱
未来之窗软件服务1 小时前
计算机等级考试——二叉树考点和坑——东方仙盟
算法·二叉树·计算机软考·仙盟创梦ide·东方仙盟
张张努力变强1 小时前
C++类和对象(一):inline函数、nullptr、类的定义深度解析
开发语言·前端·jvm·数据结构·c++·算法