java - 找到一个图,它有 6 个顶点,每个顶点都是边的结束或开始,代码返回数字 2
问题描述
我正在尝试创建一个图,它有 6 个顶点,它的所有顶点都是有向边的开始或结束,下面的代码返回数字 2。代码中的数组 G 是邻接矩阵。
public static int exam(boolean[][] g){
int r = 0;
for (int i=0; i<g.length; i++){
for (int j = i+1; j<g.length; j++){
if (g[i][j] && g[j][i]){
r++;
}
}
}
return r;
}
我的解决方案是这张图
这是对的吗?谢谢!
解决方案
从您写的内容来看,您似乎正在计算连接双向的点对的数量。在您链接的图表中,连接 (0,1) 和 (4,5) 分别与 (1,0) 和 (5,4) 共享点对。因此,该函数按预期返回 2。
我假设矩阵看起来有点像这样:(0 = false,1 = true)
{{0,1,0,0,0,0},
{1,0,1,0,0,0},
{0,0,0,1,0,0},
{0,0,0,0,1,0},
{0,0,0,0,0,1},
{1,0,0,0,1,0}}
如您所见,对角线为零,因为点不连接到自己。跨对角线镜像并等于1
连接双向的值。
推荐阅读
- mysql - 有没有办法在 Heroku 部署的应用程序上的jawsdb 中创建数据库和表?
- python - 使用 Python 时无法在 chrome 开发工具中提取正确的元素
- directx-12 - D3D12 ClearRenderTargetView
- php - 多维数组中的非法字符串偏移
- scala - 火花数据框正在从 csv 文件加载所有空值
- caching - 当 2 次命中 CloudFront 上的同一路径时的预期缓存行为
- c++ - 使用递归的字符串排列,分段错误
- html - 网格布局作为背景,不使用 body 标签
- javascript - 如何按动态对象数组过滤数组?
- c# - Plinq 和 linq 性能比较 c#