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

C++?LeetCode0547題解省份數(shù)量圖的連通分量

 更新時間:2022年12月16日 10:36:14   作者:LetMeFly  
這篇文章主要為大家介紹了C++?LeetCode0547題解省份數(shù)量圖的連通分量示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

LeetCode 547.省份數(shù)量

力扣題目鏈接:leetcode.cn/problems/nu…

n 個城市,其中一些彼此相連,另一些沒有相連。如果城市 a 與城市 b 直接相連,且城市 b 與城市 c 直接相連,那么城市 a 與城市 c 間接相連。

省份 是一組直接或間接相連的城市,組內(nèi)不含其他沒有相連的城市。

給你一個 n x n 的矩陣 isConnected ,其中 isConnected[i][j] = 1 表示第 i 個城市和第 j 個城市直接相連,而 isConnected[i][j] = 0 表示二者不直接相連。

返回矩陣中 省份 的數(shù)量。

示例 1:

輸入:isConnected = [[1,1,0],[1,1,0],[0,0,1]]
輸出:2

示例 2:

輸入:isConnected = [[1,0,0],[0,1,0],[0,0,1]]
輸出:3

提示:

  • 1 <= n <= 200
  • n == isConnected.length
  • n == isConnected[i].length
  • isConnected[i][j]10
  • isConnected[i][i] == 1
  • isConnected[i][j] == isConnected[j][i]

方法一:BFS求圖的連通分量

這道題其實挺裸的,就是讓求一個圖的連通分量。

題目中,已經(jīng)給了圖的鄰接矩陣,我們直接對圖開始搜索就好。

初始時,建立一個布爾類型的數(shù)組,數(shù)組長度為節(jié)點個數(shù)(len(isConnected)len(isConnected)len(isConnected)),初始值全為falsefalsefalse

然后使用一個整數(shù)類型的變量ansansans來記錄找到的聯(lián)通分量的個數(shù),初始值為000

具體思路是:我們遍歷這nnn個節(jié)點,一旦遍歷到某個節(jié)點,就把與這個節(jié)點相聯(lián)通的所有的節(jié)點遍歷一遍,并把答案數(shù)量加一。

遍歷過程中,一個節(jié)點不論是怎么怎么遍歷到的,都需要把布爾數(shù)組中這個節(jié)點對應(yīng)的布爾值標(biāo)記為truetruetrue(表示該點已遍歷)

  • 時間復(fù)雜度O(len(isConnected)2)O(len(isConnected)^2)O(len(isConnected)2)。每個節(jié)點都會被遍歷一次,這個節(jié)點與其他節(jié)點的所有“連接情況”也會被遍歷一次
  • 空間復(fù)雜度O(len(isConnected))O(len(isConnected))O(len(isConnected))

AC代碼

C++

class Solution {
public:
    int findCircleNum(vector<vector<int>>& isConnected) {
        int n = isConnected.size();
        vector<bool> visited(n, false);
        int ans = 0;
        for (int i = 0; i < n; i++) {
            if (!visited[i]) {
                visited[i] = true;
                queue<int> q;
                q.push(i);
                ans++;
                while (q.size()) {
                    int thisNode = q.front();
                    q.pop();
                    for (int to = 0; to < n; to++) {
                        if (isConnected[thisNode][to] && !visited[to]) {
                            visited[to] = true;
                            q.push(to);
                        }
                    }
                }
            }
        }
        return ans;
    }
};

以上就是C++ LeetCode0547題解省份數(shù)量圖的連通分量的詳細(xì)內(nèi)容,更多關(guān)于C++ LeetCode題解省份數(shù)量的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用C語言調(diào)用luajit的方法詳解

    使用C語言調(diào)用luajit的方法詳解

    C語言是一種非常流行的編程語言,而Lua是一種基于C語言開發(fā)的腳本語言,在Lua的各種實現(xiàn)中,luajit也是其中一種非常流行的實現(xiàn),在本文中,我將為大家介紹如何使用C語言調(diào)用luajit,并且詳細(xì)介紹如何傳入?yún)?shù),傳入結(jié)構(gòu)體參數(shù),以及獲取返回值
    2023-11-11
  • 深入理解Java事務(wù)的原理與應(yīng)用

    深入理解Java事務(wù)的原理與應(yīng)用

    下面小編就為大家?guī)硪黄钊肜斫釰ava事務(wù)的原理與應(yīng)用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 淺析C++11新特性的Lambda表達(dá)式

    淺析C++11新特性的Lambda表達(dá)式

    C++11 新增了很多特性,lambda 表達(dá)式是其中之一,本文涉及到C++11這次更新中較為重要的lambda表達(dá)式。有需要的朋友們可以參考學(xué)習(xí)。
    2016-08-08
  • C++實踐IP地址類項目參考

    C++實踐IP地址類項目參考

    今天小編就為大家分享一篇關(guān)于C++實踐IP地址類項目參考,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Qt使用QListWidget實現(xiàn)自定義Item

    Qt使用QListWidget實現(xiàn)自定義Item

    這篇文章主要為大家詳細(xì)介紹了Qt如何使用QListWidget實現(xiàn)自定義Item的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 編譯錯誤error: stray ‘\343’in program的解決方法

    編譯錯誤error: stray ‘\343’in program的解決方法

    以下是對編譯錯誤error: stray ‘\343’in program的解決方法進(jìn)行了詳細(xì)的分析介紹,如遇此問題的朋友們可以過來參考下
    2013-07-07
  • C++對象的動態(tài)建立與釋放詳解

    C++對象的動態(tài)建立與釋放詳解

    我們知道可以用new運(yùn)算符可以動態(tài)的分配內(nèi)存,用delete運(yùn)算符可以釋放這些內(nèi)存。當(dāng)我們使用new運(yùn)算符動態(tài)的分配一個內(nèi)存之后,會自動返回一個該內(nèi)存段的起始地址,也就是指針。
    2013-10-10
  • Qt連接數(shù)據(jù)庫并實現(xiàn)數(shù)據(jù)庫增刪改查的圖文教程

    Qt連接數(shù)據(jù)庫并實現(xiàn)數(shù)據(jù)庫增刪改查的圖文教程

    QT連接數(shù)據(jù)庫是應(yīng)用開發(fā)的常用基礎(chǔ)操作,經(jīng)過實驗我總結(jié)了一些例程,下面這篇文章主要給大家介紹了關(guān)于Qt連接數(shù)據(jù)庫并實現(xiàn)數(shù)據(jù)庫增刪改查的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • C++全密碼生成的實現(xiàn)代碼

    C++全密碼生成的實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了C++全密碼生成的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 用c語言實現(xiàn)2000內(nèi)既能被3整除又能被7整除的個數(shù)

    用c語言實現(xiàn)2000內(nèi)既能被3整除又能被7整除的個數(shù)

    本篇文章是對使用c語言實現(xiàn)2000內(nèi)既能被3整除又能被7整除的個數(shù),用實例進(jìn)行了分析說明,需要的朋友參考下
    2013-05-05

最新評論

繁昌县| 循化| 萨迦县| 都匀市| 延庆县| 华坪县| 铜山县| 南华县| 洪湖市| 当雄县| 乌拉特前旗| 马山县| 海城市| 济南市| 双辽市| 康定县| 双牌县| 罗甸县| 天津市| 晋中市| 冕宁县| 阳东县| 宁都县| 漾濞| 扎囊县| 梁平县| 临安市| 汤阴县| 武功县| 正镶白旗| 通辽市| 博湖县| 泰和县| 高邮市| 临朐县| 连云港市| 临沧市| 宣汉县| 南召县| 隆德县| 邵武市|