每日一題 城市群的數量

題目解析

城市群數量_牛客題霸_牛客網

當解決這個問題時,首先需要理解題目要求。題目中給出了一個城市之間的鄰接矩陣,矩陣中的元素表示城市之間是否直接相連。如果兩個城市直接相連,或者通過其他城市間接相連,它們就屬于同一個城市群。

思路分析

為了解決這個問題,圖的遍歷可以使用深度優先搜索(DFS)或者廣度優先搜索(BFS)來遍歷城市,并標記城市所屬的城市群。具體步驟如下:

  1. 創建一個布爾類型的數組?visited,用于標記每個城市是否被訪問過。
  2. 遍歷所有城市,對于每個未被訪問過的城市,進行深度優先搜索或者廣度優先搜索,并標記所有與該城市直接或間接相連的城市為同一個城市群。
  3. 統計不同的城市群數量。

?

代碼實現?
?

import java.util.*;public class Solution {/*** 代碼中的類名、方法名、參數名已經指定,請勿修改,直接返回方法規定的值即可*** @param m int整型ArrayList<ArrayList<>>* @return int整型*/int n,count;boolean[] flags;ArrayList<ArrayList<Integer>> lists;public int citys (ArrayList<ArrayList<Integer>> lists) {this.lists = lists;if (lists == null || lists.isEmpty()) {return 0;}n = lists.size();flags = new boolean[n];for (int i = 0; i < n; i++) {if (!flags[i]) { //把所有沒被標記的都遍歷一遍count++;dfs(i);}}return count;}private void dfs(int pos) {flags[pos] = true;//已經搜索過了for (int i = 0; i < n; i++) {//搜索出所有與pos相鄰的房子if (!flags[i] && lists.get(i).get(pos) == 1) {dfs(i);}}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11504.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11504.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11504.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法學習筆記(匈牙利算法)

匈牙利算法可以求解二分圖的最大匹配問題&#xff08;二分圖&#xff1a;如果無向圖 G ( V , E ) G (V, E) G(V,E)的所有點可以分為兩個集合 V 1 、 V 2 V_1、V_2 V1?、V2?&#xff0c;所有的邊都在 V 1 V_1 V1?和 V 2 V_2 V2?之間&#xff0c;而 V 1 V_1 V1?或 V 2 V_2…

深入理解Python的類,實例和type函數

問題起源&#xff1a; class t():pass s1 t() s2 type("Student2",(),{}) isinstance(s1, type), isinstance(s2, type)為什么第一個是false&#xff0c;第二個是true呢 根因定位&#xff1a; 在Python中&#xff0c;一切皆對象&#xff0c;類是對象&#xff0c…

nacos在沒有指定數據源的情況下默認使用什么數據庫?

在沒有特別指定數據源的情況下&#xff0c;Nacos 默認使用內嵌的數據庫 Derby 來存儲其數據。Derby 是一個輕量級的、基于 Java 的數據庫管理系統&#xff0c;適合于開發和測試環境&#xff0c;因為它簡單易部署且無需額外的數據庫服務器。然而&#xff0c;對于生產環境&#x…

使用ORM快速獲取業務對象列表

通常在實際開發中&#xff0c;業務對象的信息是需要來自多個數據表的。 我們如果想要獲取這個業務對象&#xff0c;就要先查詢數據表&#xff0c;再把查詢到的數據依次循環&#xff0c;組合轉換封裝成業務要使用的對象類型列表。 如果使用了ORM&#xff0c;那么這個過程就可以簡…

Stability AI 推出 Stable Artisan,終于可以在Discord上使用Stable Diffusion了!

Stable Diffusion 社區最常見的要求之一是能夠直接在 Discord 上使用他們的模型。近期&#xff0c;Stability AI 推出 Stable Artisan&#xff0c;這個需求終于被實現了。 Stable Artisan 支持在 Discord 上生成媒體&#xff0c;由 Stability AI 的尖端圖像和視頻模型 Stable D…

基于Springboot的實習生管理系統(有報告)。Javaee項目,springboot項目。

演示視頻&#xff1a; 基于Springboot的實習生管理系統&#xff08;有報告&#xff09;。Javaee項目&#xff0c;springboot項目。 項目介紹&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三層體系結構&a…

mysql group by使用方法實例講解

MySQL中GROUP BY語句用于對某個或某些字段查詢分組&#xff0c;并返回重復記錄的第一條&#xff0c;本文章通過實例向大家介紹mysql group by使用方法和需要注意的地方&#xff0c;感興趣的朋友可以參考一下。 現在有這樣一個數據表book idfirst_namelast_namecityage1JasonM…

知乎知+廣告推廣該如何做?怎么收費?

知乎作為一個匯聚高質量用戶群體的知識分享平臺&#xff0c;成為了眾多品牌和產品推廣的優選之地。特別是知乎的“知”廣告推廣服務&#xff0c;以其精準定向、內容原生的特點&#xff0c;深受廣告主青睞。 一、知乎知廣告推廣基礎 1. 什么是知乎知&#xff1f; 知是知乎官方…

C++初階學習第七彈——探索STL奧秘(二)——string的模擬實現

標準庫中的string&#xff1a;C初階學習第六彈——string&#xff08;1&#xff09;——標準庫中的string類-CSDN博客 前言&#xff1a; 在前面我們已經學習了如何使用標準庫中的string類&#xff0c;但作為一個合格的程序員&#xff0c;我們不僅要會用&#xff0c;還要知道如…

C++類和對象下——實現日期類

前言 在學習了類和對象的六大成員函數后&#xff0c;為了鞏固我們學習的知識可以手寫一個日期類來幫助我們理解類和對象&#xff0c;加深對于其的了解。 默認函數 構造函數 既然是寫類和對象&#xff0c;我們首先就要定義一個類&#xff0c;然后根據實際需要來加入類的數據與函…

AI編程工具為什么選github copilot?

Github Copilot 是一個奇跡 它的競爭對手&#xff08;Amazon, Google, Meta, 騰訊&#xff09;都是免費的&#xff0c;但每月10-20美元的Github Copilot市場占有率最高。 1、2021年6月上線&#xff0c;比ChatGPT早近一年半 2、GitHub統計&#xff1a; 88%的用戶獲得效率提升平…

element ui的確認提示框文字樣式修改

修改確認提示框文字樣式修改&#xff0c;使用message屬性修改&#xff1a; 例&#xff1a; js代碼&#xff1a; this.$msgbox({title: 確定要刪除嗎?,message: this.$createElement(p, null, [this.$createElement(span, { style: color: red }, 該素材一旦刪除&#xff0c;…

Spring Boot日志

目錄 一、日志概述 1、為什么要學習日志&#xff1f; 2、日志的用途 &#xff08;1&#xff09;系統監控 &#xff08;2&#xff09;數據采集 &#xff08;3&#xff09;日志審計 二、日志使用 1、打印日志 &#xff08;1&#xff09;在程序中得到日志對象 &#xf…

QNX SLM介紹

QNX SLM SLM是Qnx中用來加載Application的組件&#xff0c;它可以監控Application行為&#xff08;比如異常退出時重新Application拉起&#xff09;、控制Application間的啟動時序。 QNX的SLM與Android RC文件類似。 下面摘自QNX官網介紹 System launch and monitor: launch c…

Redis日常維護流程及技巧:確保穩定性與性能

目錄 一、監控和報警設置 1.實時監控&#xff1a;洞察Redis的脈搏 &#xff08;1&#xff09;. 資源使用監控 &#xff08;2&#xff09;. 數據訪問模式監控 &#xff08;3&#xff09;. 持久化監控 &#xff08;4&#xff09;. 客戶端連接 2.報警機制&#xff1a;快速響…

標準Modbus TCP雙網口開關量模塊

M140E以太網遠程I/O無線數據采集模塊是一款工業級、隔離設計、高可靠性、高穩定性和高精度數據采集模塊&#xff0c;嵌入式32位高性能微處理器MCU&#xff0c;集成2路工業10/100M自適應以太網模塊里面。提供多種I/O&#xff0c;支持標準Modbus TCP&#xff0c;可集成到SCADA、O…

Spring STOMP-連接到消息代理

STOMP 代理中繼維護一個與消息代理的“系統”TCP 連接。這個連接僅用于來自服務器端應用程序的消息&#xff0c;不用于接收消息。您可以為此連接配置STOMP憑據&#xff08;即STOMP幀的login和passcode頭部&#xff09;。這在XML命名空間和Java配置中都以systemLogin和systemPas…

CentOs搭建Kubernetes集群

kubeadm minikube 還是太“迷你”了&#xff0c;方便的同時也隱藏了很多細節&#xff0c;離真正生產環境里的計算集群有一些差距&#xff0c;畢竟許多需求、任務只有在多節點的大集群里才能夠遇到&#xff0c;相比起來&#xff0c;minikube 真的只能算是一個“玩具”。 Kuber…

spring基礎使用(案例)

基于xml使用&#xff1a; 準備&#xff1a; 1.Dao層&#xff08;接口&#xff09;&#xff1a; public interface UserDao {public void save(); } 1.1 Dao層&#xff08;實現類&#xff09;&#xff1a; public class UserDaoIim implements UserDao {Overridepublic vo…