Leetcode 997.找到小镇的法官

题目地址

思路

具体思路如下:
for()循环遍历trust数组,对其中每个人的信任做记录。与此同时对每个人被信任的次数也做记录。
最终判定即可。
如果还是看不懂,建议看看我的代码。或者参看官方题解。

Leetcode 官方题解

代码实现(C++)

class Solution {
    
    
public:
    int findJudge(int n, vector<vector<int>>& trust) 
    {
    
    
        if(n==1&&trust.size()==0)
        {
    
    
            return 1;
        }
        unordered_map<int,int> map_ed;
        unordered_map<int,int> map;
        int ans=-1;
        for(int i=0;i<trust.size();i++)
        {
    
    
            map_ed[trust[i][1]]++;
            map[trust[i][0]]++;
        }
        for(auto p : map_ed)
        {
    
    
            if(p.second==(n-1)&&map[p.first]==0)
            {
    
    
                ans=p.first;
            }
        }
        return ans;
    }
};

总结

每次看到自己的代码都觉得又臭又长。

猜你喜欢

转载自blog.csdn.net/weixin_45847364/article/details/122039084