package 省份;
public class Group {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(getProvince(new int[][]{{1,1,0},{1,1,0},{0,0,1}}));//2
System.out.println(getProvince(new int[][]{{1,0,0},{0,1,0},{0,0,1}}));//3
}
private static int getProvince(int[][] citysConnect) {
// TODO Auto-generated method stub
int citys=citysConnect.length; //获取城市的个数
boolean[] visited=new boolean[citys]; //打标机的城市
int province=0; //省份的个数
for(int i=0;i<citys;i++){
if(!visited[i]){//这个城市没有打标机
//深度优先遍历
dfs(i,citys,visited,citysConnect);
province++;
}
}
return province;
}
private static void dfs(int i, int citys, boolean[] visited,
int[][] citysConnect) {
// TODO Auto-generated method stub
for(int j=0;j<citys;j++){
if(citysConnect[i][j]==1 && !visited[j]){
visited[j]=true;
//递归
dfs(j,citys,visited,citysConnect);
}
}
}
}
java-省份数量,朋友圈
最新推荐文章于 2022-12-17 12:00:45 发布