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

C/C++哈希表優(yōu)化LeetCode題解997找到小鎮(zhèn)的法官

 更新時(shí)間:2022年12月28日 10:35:20   作者:彤哥來(lái)刷題啦  
這篇文章主要為大家介紹了C/C++哈希表優(yōu)化題解997找到小鎮(zhèn)的法官示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

方法一、哈希表

今天這道題比較簡(jiǎn)單,我們可以統(tǒng)計(jì)每個(gè)人信任別人的數(shù)量和被信任的數(shù)量,如果存在某個(gè)人信任別人的數(shù)量為0,且被信任的數(shù)量為 n-1,那么,這個(gè)人就是法官。

因?yàn)楸绢}的數(shù)據(jù)范圍為 [1,1000],數(shù)據(jù)范圍比較小,所以,直接使用數(shù)組作為哈希表來(lái)使用。

請(qǐng)看代碼:

class Solution {
    public int findJudge(int n, int[][] trust) {
        // 不信任任何人的人 & 被所有人信任的人
        // 計(jì)算每個(gè)人信任的人的數(shù)量和被信任的數(shù)量
        // 前者等于0,后者等于n-1
        int[][] arr = new int[n + 1][2];
        for (int[] t : trust) {
            // 0表示信任別人
            arr[t[0]][0]++;
            // 1表示被別人信任
            arr[t[1]][1]++;
        }
        
        for (int i = 1; i <= n; i++) {
            if (arr[i][0] == 0 && arr[i][1] == n - 1) {
                return i;
            }
        }
                return -1;
    }
}
  • 時(shí)間復(fù)雜度:O(m),m 為 trust 數(shù)組的長(zhǎng)度。
  • 空間復(fù)雜度:O(n)。

運(yùn)行結(jié)果如下:

方法二、優(yōu)化

方法一中,我們使用了一個(gè)二維數(shù)組的第二維表示信任別人的數(shù)量和被別人信任的數(shù)量,其實(shí),我們也可以使用一個(gè)一維數(shù)組來(lái)求解, 減一表示信任別人的數(shù)量,加一表示被別人信任的數(shù)量,那么,只有法官才可能達(dá)到 n-1 的總數(shù)量。

請(qǐng)看代碼:

class Solution {
    public int findJudge(int n, int[][] trust) {
        // 不信任任何人的人 & 被所有人信任的人
        int[] arr = new int[n + 1];
        for (int[] t : trust) {
            // 減一表示信任別人
            arr[t[0]]--;
            // 加一表示被別人信任
            arr[t[1]]++;
        }
        
        for (int i = 1; i <= n; i++) {
            // 因?yàn)楸粍e人信任不可能超過(guò) n-1
            // 所以,只有法官能達(dá)到 n-1
            // 且法官信任別人數(shù)量為 0
            // 所以,總的數(shù)量為 n-1
            if (arr[i] == n - 1) {
                return i;
            }
        }
                return -1;
    }
}
  • 時(shí)間復(fù)雜度:O(m),m 為 trust 數(shù)組的長(zhǎng)度。
  • 空間復(fù)雜度:O(n)。

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

相關(guān)文章

  • c++回溯法解決1到9之間插入加減或空使運(yùn)算結(jié)果為100

    c++回溯法解決1到9之間插入加減或空使運(yùn)算結(jié)果為100

    編寫(xiě)一個(gè)在1,2,…,9(順序不能變)數(shù)字之間插入+或-或什么都不插入,使得計(jì)算結(jié)果總是100的程序,并輸出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100
    2021-10-10
  • C++?常量成員函數(shù)學(xué)習(xí)筆記

    C++?常量成員函數(shù)學(xué)習(xí)筆記

    這篇文章主要為大家介紹了C++?常量成員函數(shù)學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • VS編譯出現(xiàn)MSB3073命令的解決方案

    VS編譯出現(xiàn)MSB3073命令的解決方案

    =error MSB3073是Visual Studio編譯器報(bào)出的錯(cuò)誤,本文主要介紹了VS編譯出現(xiàn)MSB3073命令的解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • C++實(shí)現(xiàn)LeetCode(119.楊輝三角之二)

    C++實(shí)現(xiàn)LeetCode(119.楊輝三角之二)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(119.楊輝三角之二),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • socket多人聊天程序C語(yǔ)言版(一)

    socket多人聊天程序C語(yǔ)言版(一)

    這篇文章主要為大家詳細(xì)介紹了socket多人聊天程序C語(yǔ)言版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 詳解散列表算法與其相關(guān)的C語(yǔ)言實(shí)現(xiàn)

    詳解散列表算法與其相關(guān)的C語(yǔ)言實(shí)現(xiàn)

    這篇文章主要介紹了詳解散列表算法與其相關(guān)的C語(yǔ)言實(shí)現(xiàn),平時(shí)經(jīng)常出現(xiàn)于各大考試競(jìng)賽與程序員面試題目當(dāng)中,需要的朋友可以參考下
    2015-08-08
  • C語(yǔ)言實(shí)現(xiàn)流星雨效果流程

    C語(yǔ)言實(shí)現(xiàn)流星雨效果流程

    C本篇文章帶你用C語(yǔ)言去實(shí)現(xiàn)漫天流星雨的效果,代碼寫(xiě)的很清晰,效果非常棒,另有視頻詳解整個(gè)過(guò)程,相信你一定能看懂,感興趣的童鞋快來(lái)看看吧
    2021-11-11
  • c++自定義sort()函數(shù)的排序方法介紹

    c++自定義sort()函數(shù)的排序方法介紹

    這篇文章主要介紹了c++自定義sort()函數(shù)的排序方法介紹,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • C++簡(jiǎn)明分析講解引用與函數(shù)提高及重載

    C++簡(jiǎn)明分析講解引用與函數(shù)提高及重載

    今天繼續(xù)開(kāi)始對(duì)C++核心編程知識(shí)的分享與系統(tǒng)講解,第一,這里會(huì)提到“引用”方法傳參以及剖析引用的本質(zhì);第二,我們對(duì)函數(shù)來(lái)一個(gè)提高,相當(dāng)于進(jìn)階函數(shù)了,包括函數(shù)的默認(rèn)值,簡(jiǎn)單的提一下函數(shù)的占位參數(shù),函數(shù)重載以及注意事項(xiàng),接下來(lái)上正文
    2022-05-05
  • Qt圖形圖像開(kāi)發(fā)曲線(xiàn)圖表模塊QChart庫(kù)縮放/平移詳細(xì)方法與實(shí)例

    Qt圖形圖像開(kāi)發(fā)曲線(xiàn)圖表模塊QChart庫(kù)縮放/平移詳細(xì)方法與實(shí)例

    這篇文章主要介紹了Qt圖形圖像開(kāi)發(fā)曲線(xiàn)圖表模塊QChart庫(kù)縮放/平移詳細(xì)方法與實(shí)例,需要的朋友可以參考下
    2020-03-03

最新評(píng)論

临城县| 卢湾区| 濮阳县| 陇川县| 旅游| 壤塘县| 天柱县| 咸宁市| 正宁县| 繁峙县| 龙江县| 襄樊市| 安丘市| 咸丰县| 平陆县| 灵丘县| 大荔县| 常山县| 闵行区| 汤阴县| 高要市| 潞西市| 铜山县| 临猗县| 板桥市| 中西区| 迁安市| 遂宁市| 如东县| 普格县| 清远市| 灌南县| 宜兴市| 沧州市| 肥乡县| 佳木斯市| 民县| 金秀| 西贡区| 嘉禾县| 盐源县|