假设有N个用户,其中有些人是朋友,有些则不是。 A和B是朋友,B和C是朋友,这样ABC就是一个朋友圈,请计算给定的朋友关系的朋友圈数。 给定一个 N * N 的矩阵 M,表示用户之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个人互为朋友关系,否则为不知道。你必须输出所有用户中的已知的朋友圈总数。-笔试面试资料

这是qklbishe.com第6655 篇笔试面试资料
提供答案分析,通过本文《假设有N个用户,其中有些人是朋友,有些则不是。 A和B是朋友,B和C是朋友,这样ABC就是一个朋友圈,请计算给定的朋友关系的朋友圈数。 给定一个 N * N 的矩阵 M,表示用户之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个人互为朋友关系,否则为不知道。你必须输出所有用户中的已知的朋友圈总数。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

假设有N个用户,其中有些人是朋友,有些则不是。A和B是朋友,B和C是朋友,这样ABC就是一个朋友圈,请计算给定的朋友关系的朋友圈数。
给定一个 N * N 的矩阵 M,表示用户之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个人互为朋友关系,否则为不知道。你必须输出所有用户中的已知的朋友圈总数。

假设有N个用户,其中有些人是朋友,有些则不是。 A和B是朋友,B和C是朋友,这样ABC就是一个朋友圈,请计算给定的朋友关系的朋友圈数。       给定一个 N * N 的矩阵 M,表示用户之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个人互为朋友关系,否则为不知道。你必须输出所有用户中的已知的朋友圈总数。 Ruoji55555
并查集裸题  写得啰里啰嗦….
import java.io.*; import java.util.*;  public class Main{               public static void main(String[] args)throws Exception{         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         int n = Integer.parseInt(br.readLine());         int[][] arr = new int[n][n];         for(int i=0;i<n;++i){             String[] arg = br.readLine().split(",");             for(int j=0;j<n;++j){                 arr[i][j] = Integer.parseInt(arg[j]);             }         }                  int[] f = new int[n];         for(int i=0;i<n;++i){             f[i]=i;         }                  for(int i=0;i<n;++i){             for(int j=0;j<n;++j){                 if(arr[i][j] == 1){                     union(f,i,j);                 }             }         }         int ans =0;         for(int i=0;i<n;++i){             if(f[i]==i){                 ans++;             }         }         System.out.println(ans);     }          public static int find(int[] f, int a){         if(f[a]==a){             return a;         }         return f[a] = find(f,f[a]);     }     public static void union(int[] f, int a,int b){         int fa = find(f,a);         int fb = find(f,b);         f[fa]=fb;     } }

2021-02-16 23:41:53 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 假设有N个用户,其中有些人是朋友,有些则不是。 A和B是朋友,B和C是朋友,这样ABC就是一个朋友圈,请计算给定的朋友关系的朋友圈数。 给定一个 N * N 的矩阵 M,表示用户之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个人互为朋友关系,否则为不知道。你必须输出所有用户中的已知的朋友圈总数。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情