最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go/C語(yǔ)言LeetCode題解997找到小鎮(zhèn)法官

 更新時(shí)間:2022年12月28日 11:10:49   作者:劉09k11  
這篇文章主要為大家介紹了Go語(yǔ)言LeetCode題解997找到小鎮(zhèn)的法官示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目描述

997. 找到小鎮(zhèn)的法官 - 力扣(LeetCode)

小鎮(zhèn)里有 n 個(gè)人,按從 1n 的順序編號(hào)。傳言稱,這些人中有一個(gè)暗地里是小鎮(zhèn)法官。

如果小鎮(zhèn)法官真的存在,那么:

  • 小鎮(zhèn)法官不會(huì)信任任何人。
  • 每個(gè)人(除了小鎮(zhèn)法官)都信任這位小鎮(zhèn)法官。
  • 只有一個(gè)人同時(shí)滿足屬性 1 和屬性 2 。

給你一個(gè)數(shù)組 trust ,其中 trust[i] = [ai, bi] 表示編號(hào)為 ai 的人信任編號(hào)為 bi 的人。

如果小鎮(zhèn)法官存在并且可以確定他的身份,請(qǐng)返回該法官的編號(hào);否則,返回 -1 。

示例 1:

輸入:n = 2, trust = [[1,2]]
輸出:2

示例 2:

輸入:n = 3, trust = [[1,3],[2,3]]
輸出:3

示例 3:

輸入:n = 3, trust = [[1,3],[2,3],[3,1]]
輸出:-1

  提示:

1 <= n <= 1000

0 <= trust.length <= 10^4

trust[i].length == 2[= 

trust 中的所有trust[i] = [ai, bi] 互不相同

ai != bi

1 <= ai, bi <= n

思路分析

記錄每個(gè)人被信任的次數(shù)。 信任次數(shù)為n-1的人就是法官

同時(shí)如果這個(gè)人信任別過(guò)人就讓他的被信任次數(shù)-1 (這個(gè)操作主要是判斷一個(gè)人不是法官,如果一個(gè)人被其他人信任了n-1次,那么這個(gè)人可能是法官,如果這個(gè)人信任過(guò)別人,那么讓他的被信任次數(shù)-1,他的被信任次數(shù)為n-2!=n-1。這樣就滿足了法官不能信別人的邏輯,他也就不是法官。)

有人被信任的次數(shù)為n-1,那么他就是法官!沒(méi)有這樣的人,那么返回-1.

go 代碼

class Solution {
    public static int findJudge(int n, int[][] trust) {
        int[] times=new int[n+1];
        for(int i=0;i&lt;trust.length;i++){
            times[trust[i][1]]++;
            times[trust[i][0]]--;
        }
        for(int i=1;i&lt;=n;i++){
            if(times[i]==n-1) return i;
        }
        return -1;
    }
}

C語(yǔ)言

暴力法

關(guān)鍵點(diǎn):

1:關(guān)鍵點(diǎn)兩個(gè),一個(gè)是相信的人數(shù),一個(gè)是不能相信人

2:用hashSet去記錄,如果相信別人,那么這個(gè)人的信用設(shè)置為負(fù)數(shù)。

3:被相信的人,hashSet信用值增加

時(shí)間復(fù)雜度:O(n)

空間復(fù)雜度:O(n)

代碼

int findJudge(int n, int** trust, int trustSize, int* trustColSize)
{
    //根據(jù)入度進(jìn)行遍歷
    int hashSet[n+1]; //相信這個(gè)i的人數(shù)
    memset(hashSet,0, sizeof(hashSet));
    for(int i = 0; i < trustSize; i++)
    {
        hashSet[trust[i][1]]++;
        //相信別人 就不能是法官
        hashSet[trust[i][0]] = INT_MIN;
        
    }
      for(int i = 1; i <= n; i++)
    {
        if(hashSet[i] == n-1 )
        {
            return i;
        }
    }
          return -1;
}

參考

一題兩解:哈希表 & 優(yōu)化! - 找到小鎮(zhèn)的法官 - 力扣(LeetCode)

以上就是Go/C語(yǔ)言LeetCode題解997找到小鎮(zhèn)法官的詳細(xì)內(nèi)容,更多關(guān)于Go/C語(yǔ)言題解找到小鎮(zhèn)法官的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • GoLang的sync.WaitGroup與sync.Once簡(jiǎn)單使用講解

    GoLang的sync.WaitGroup與sync.Once簡(jiǎn)單使用講解

    sync.WaitGroup類型,它比通道更加適合實(shí)現(xiàn)這種一對(duì)多的goroutine協(xié)作流程。WaitGroup是開箱即用的,也是并發(fā)安全的。同時(shí),與之前提到的同步工具一樣,它一旦被真正的使用就不能被復(fù)制了
    2023-01-01
  • Golang并發(fā)讀取文件數(shù)據(jù)并寫入數(shù)據(jù)庫(kù)的項(xiàng)目實(shí)踐

    Golang并發(fā)讀取文件數(shù)據(jù)并寫入數(shù)據(jù)庫(kù)的項(xiàng)目實(shí)踐

    本文主要介紹了Golang并發(fā)讀取文件數(shù)據(jù)并寫入數(shù)據(jù)庫(kù)的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • golang實(shí)現(xiàn)簡(jiǎn)單的udp協(xié)議服務(wù)端與客戶端示例

    golang實(shí)現(xiàn)簡(jiǎn)單的udp協(xié)議服務(wù)端與客戶端示例

    這篇文章主要介紹了golang實(shí)現(xiàn)簡(jiǎn)單的udp協(xié)議服務(wù)端與客戶端,結(jié)合實(shí)例形式分析了基于UDP協(xié)議的數(shù)據(jù)傳輸相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-07-07
  • sublime安裝支持go和html的插件

    sublime安裝支持go和html的插件

    這篇文章主要介紹了sublime安裝支持go和html的插件,需要的朋友可以參考下
    2015-01-01
  • Go并發(fā)4種方法簡(jiǎn)明講解

    Go并發(fā)4種方法簡(jiǎn)明講解

    這篇文章主要介紹了Go并發(fā)4種方法簡(jiǎn)明講解,需要的朋友可以參考下
    2022-04-04
  • Go開發(fā)環(huán)境搭建詳細(xì)介紹

    Go開發(fā)環(huán)境搭建詳細(xì)介紹

    由于目前網(wǎng)上Go的開發(fā)環(huán)境搭建文章很多,有些比較老舊,都是基于 GOPATH的,給新入門的同學(xué)造成困擾。以下為2023 版 Go 開發(fā)環(huán)境搭建,可參照此教程搭建Go開發(fā)環(huán)境,有需要的朋友可以參考閱讀
    2023-04-04
  • uber go zap 日志框架支持異步日志輸出

    uber go zap 日志框架支持異步日志輸出

    這篇文章主要為大家介紹了uber go zap 日志框架支持異步日志輸出示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 用Go+Redis實(shí)現(xiàn)分布式鎖的示例代碼

    用Go+Redis實(shí)現(xiàn)分布式鎖的示例代碼

    在分布式的業(yè)務(wù)中 , 如果有的共享資源需要安全的被訪問(wèn)和處理 , 那就需要分布式鎖,本文主要介紹了用Go+Redis實(shí)現(xiàn)分布式鎖的示例代碼,感興趣的可以了解一下
    2021-12-12
  • Go無(wú)緩沖通道(同步通道)的實(shí)現(xiàn)

    Go無(wú)緩沖通道(同步通道)的實(shí)現(xiàn)

    本文主要介紹了Go無(wú)緩沖通道(同步通道)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Golang并發(fā)之RWMutex的用法詳解

    Golang并發(fā)之RWMutex的用法詳解

    在?Go?語(yǔ)言中,RWMutex?是一種讀寫互斥鎖的實(shí)現(xiàn),它提供了一種簡(jiǎn)單有效的方式來(lái)管理對(duì)共享資源的并發(fā)訪問(wèn)。本文就來(lái)和大家詳細(xì)聊聊RWMutex的用法吧
    2023-04-04

最新評(píng)論

关岭| 龙里县| 乌拉特后旗| 若尔盖县| 色达县| 明水县| 洞头县| 辉县市| 南江县| 雷州市| 达尔| 和政县| 泽州县| 留坝县| 和平县| 福安市| 甘谷县| 大埔区| 西贡区| 正阳县| 东光县| 剑阁县| 望奎县| 肃宁县| 交城县| 新宁县| 博客| 四平市| 京山县| 灌云县| 盐城市| 北京市| 黑山县| 平泉县| 谷城县| 腾冲县| 庆城县| 志丹县| 新巴尔虎右旗| 犍为县| 瑞昌市|