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

消耗时间和内存情况:

相关推荐
济南信息学奥赛刘老师12 分钟前
GESP考试大纲
开发语言·c++·算法·青少年编程
是萝卜干呀14 分钟前
Frontend - 防止多次请求,避免重复请求
javascript·ajax·jquery·防抖·节流·disabled属性
~yY…s<#>14 分钟前
【刷题21】BFS解决FloodFill算法专题
数据结构·c++·算法·leetcode·宽度优先
九圣残炎16 分钟前
【从零开始的LeetCode-算法】3297. 统计重新排列后包含另一个字符串的子字符串数目 I
java·算法·leetcode
无限大.17 分钟前
力扣题解 3233. 统计不是特殊数字的数字数量(中等)
算法·leetcode·职场和发展
三金1213821 分钟前
局部使用Vue
前端·javascript·vue.js
edward134623 分钟前
[JLOI2014] 松鼠的新家(重链剖分+线段树)
数据结构·c++·算法
许静知26 分钟前
第十章 JavaScript的应用
开发语言·javascript·ecmascript
liujjjiyun36 分钟前
小U数数问题
c++·算法
好开心3342 分钟前
js高级06-ajax封装和跨域
开发语言·前端·javascript·ajax·okhttp·ecmascript·交互