最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
leetcode怎么計算省份數(shù)量

這篇文章主要介紹“l(fā)eetcode怎么計算省份數(shù)量”,在日常操作中,相信很多人在leetcode怎么計算省份數(shù)量問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”leetcode怎么計算省份數(shù)量”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)專注于莒縣網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供莒縣營銷型網(wǎng)站建設(shè),莒縣網(wǎng)站制作、莒縣網(wǎng)頁設(shè)計、莒縣網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造莒縣網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供莒縣網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

一、題目內(nèi)容

有 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:

leetcode怎么計算省份數(shù)量

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

示例 2:

leetcode怎么計算省份數(shù)量

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

提示:

1 <= n <= 200
n == isConnected.length
n == isConnected[i].length
isConnected[i][j] 為 1 或 0
isConnected[i][i] == 1

isConnected[i][j] == isConnected[j][i]

二、解題思路

p存儲每個節(jié)點的對應(yīng)連通的起始節(jié)點;

按行遍歷矩陣的下三角,只要為1且p中當(dāng)前城市i的值和本該連接的城市j的值不同,則當(dāng)前城市i的值被賦值為本該連接城市j的值;

例如4個城市,124相連的話,則[0, 1, 2, 3]=>[0, 0, 2, 3]=>[0, 0, 2, 0], 意思是4和2連著,而2和1連著,則4和1連著,因此這三個城市的值都為0;

三、代碼

class Solution:
    def findCircleNum(self, isConnected: list) -> int:
        p = [i for i in range(len(isConnected))]

        def find(x):
            if p[x] != x:
                p[x] = find(p[x])
            return p[x]

        res = len(isConnected)
        for i in range(len(isConnected)):
            for j in range(i):
                # print(i, j)
                if isConnected[i][j] == 1 and find(i) != find(j):
                    # print(i, j)
                    # print(find(i), find(j))
                    p[find(i)] = find(j)
                    res -= 1
        return res


if __name__ == '__main__':
    s = Solution()
    isConnected = [[1, 1, 0, 0],
                   [1, 1, 0, 1],
                   [0, 0, 1, 0],
                   [0, 1, 0, 1]]
    ans = s.findCircleNum(isConnected)
    print(ans)

到此,關(guān)于“l(fā)eetcode怎么計算省份數(shù)量”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當(dāng)前題目:leetcode怎么計算省份數(shù)量
鏈接URL:http://fisionsoft.com.cn/article/gcgjhi.html