algorithm - 检查有限二维数组是否可以形成对角线的最有效方法
问题描述
假设我有这样的数据结构
int arr[3][3] = {
{1, 1},
{1, 2},
{0, 2}
};
其中内部数组中的第一个数字对应于最小值,第二个数字对应于最大值。它看起来像这样。
检查某些列调整后是否可以形成对角线的最有效方法是什么。
解决方案
在最终解决方案中,您将数组的每一行与该行中indes[i][i]
存在的列匹配。这是一种匹配算法,您可以在此处找到
将二分图创建为部分行A
和部分最终对角线的索引B
。row i
在之间和diagonal j
何时创建边缘A[i][0]<=j and A[i][1]>=j
,然后在其上运行匈牙利匹配。
推荐阅读
- javascript - 滑块中的视频未播放
- windows - 无法运行或拉取 Windows docker 映像
- r - parLapply - 有没有办法在 R 中使用 parLapply 时返回哪个核心返回错误
- r - 如何根据用户在 Shiny 中的选择将新列添加到数据框中的特定位置?
- ios - 如何在没有 AppDelegate 和 ViewController 的 SwiftUI App 中使用 Linea Pro SDK
- php - 将所选值与表中选中的回显匹配
- javascript - 我可以在 Pixi JS 应用程序中捕获 DOM 鼠标事件吗?
- python - 使用 openpyxl 逐页将 Python CSV 转换为 Excel [未优化]
- html - 使用自定义音频播放器进行音频预览
- libvirt - guest 无法启动:libvirt_lxc 启动失败:无法将挂载目录 /.oldroot/bootflash/a1 绑定到 /bootflash/a1:没有这样的文件 o