|
|
1
5
我可能会采取这样的方法:
设置
现在,开始
现在,开始
对每个问题继续执行算法
示例中的示例结果数组:
如果(在每个数组位置)存储前一个符号作为该位置总数的一部分,则很容易通过从右下角到左上角的轨迹读回,以确定最大序列是什么。或者,您可以通过查看两个值中的哪个值(左或左上)比您当前的位置大来简单地追溯。在这种情况下,最大序列是CABDDDDC。 |
|
|
2
2
在我看来,这似乎是一个轻微的变化 shortest path |
|
|
3
2
你可以把它变成一个最短路径问题,但与Fragsworth所说的不同,你不需要改变算法,只需要改变数据的呈现方式。 您不会连接不遵循规则的节点(您不会将b[4]连接到a[5],因为它不在列表“顺序”中)。 例子 :
您遇到的唯一问题是,您一直选择“CCCCC…”这个选项,而在您的示例中,通过将“CABDC”列表中的第二个“C”称为(C2)并仅将其从D节点(或其他C2节点)连接来抵消。 现在运行一个任意标准最短路径算法(无需更改),从c[0]开始,到c2[n]结束,因为权重与值相反,所以得到的最短路径将是最大值之和。 |
|
|
4
0
你可以选择贪婪算法,但有一些限制。您必须始终在当前符号或下一个符号之间进行选择。如果当前符号的等效值大于下一个符号(并且您可以稍后放置所有剩余符号),则使用当前符号。如果下一个符号号更大,则选择下一个。如果它们相同,则需要一些额外的逻辑来决定。 |
|
|
5
0
您对符号的数量或每个符号的使用都没有限制。 ( )
|
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |