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

消耗时间和内存情况:

相关推荐
牛肉在哪里18 小时前
ros2 从零开始28 监听广播C++
开发语言·c++·算法·机器人
乐观勇敢坚强的老彭18 小时前
GESP一级核心算法:循环与条件判断的结合
java·数据结构·算法
noipp18 小时前
推荐题目:洛谷 P1737 [NOI2016] 旷野大计算
linux·数据结构·算法
QiLinkOS18 小时前
极客精神与商业思维的融合实践(2)
c语言·c++·人工智能·算法·开源协议
云水一下18 小时前
Vue.js从零到精通系列(三):组件化基础——Props、Emits、插槽与生命周期
前端·javascript·vue.js
小糯米60118 小时前
JavaScript表达式与运算符
开发语言·javascript·ecmascript
体验家19 小时前
体验家 XMPlus 网页端问卷 SDK 技术解析:用几行 JavaScript 实现精准场景触发与防打扰机制
开发语言·前端·javascript
code_pgf19 小时前
改进模型架构来减少MLLMs中的幻觉现象
人工智能·深度学习·算法
VidDown19 小时前
VidDown 工具站:视频分辨率技术
javascript·网络·编辑器·音视频·视频编解码·视频
2301_7644413319 小时前
基于AI的本地文件归档智能管理工具梳理
人工智能·python·算法·目标检测·交互