arrays - 这是图形问题还是其他问题?
问题描述
我遇到了一个问题,起初看起来像众所周知的最大和子数组问题,但有一个转折使事情变得更加复杂。
假设您有两个数组,每个数组都包含相同数量的“1”和“-1”。此外,假设第一个数组中的每个“1”在第二个数组中都有一个对应的或同级的“1”。每个“-1”都相同。任务是找到最佳子数组,一个在第一个数组中,一个在第二个数组中,这样它们的组合总和是最大的(最大),并增加了一个约束,即一个子数组中的元素仅计入总和,如果另一个子数组包含它的兄弟。
有谁知道这是什么问题?看起来这可能是一个变相的图形问题,但我不确定是哪个。如果这里有最佳子结构,我也看不到。我知道它可以通过完整的搜索来解决,但肯定有更快的方法。
以下是问题设置的示例。
这里的最佳解决方案是第一个数组中的子数组 [2..9] 和第二个数组中的子数组 [4..9],总和为 8。
解决方案
推荐阅读
- java - 如何转换地图
其值为 json 到 POJO - reactjs - 没有显示任何东西
- javascript - Javascript - 使用 document.execcommand 添加行现有表但我犯了一些错误但我不知道它在哪里
- laravel - 临时签名路线在特定日期结束 laravel
- docker - 重启后 kubenetes 主节点未处于就绪状态
- spring - 如何在春季停止shell命令注入
- node.js - 使用节点 js 进行 Firebase 谷歌身份验证
- mysql - 如何附加 pg_dump 备份命令 PostgreSQL 的日志输出
- excel - 在 Excel 中提取以 B 开头且长度为 10 个字符的单词
- java - 如何在春季回滚整个循环的事务?