您在给定尺寸的板一个由一个。板上有n个组件,这些组件必须以尽可能短的导线长度连接到板的边缘。
电线是直的,不能重叠。
找到将这些约束连接到边缘的算法。
约束是:
时间:1秒
空间:无限
1 <= a <= 30
1 <= n <= 38
例:
输入: 4 3 2 1 2 3 3 3 输出: 5 下 上 上
我发现了一种递归,让我用上面提供的数据来展示这个想法。
我有一个n位掩码,在1第i个位置代表我们考虑了此组件,而0没有考虑。
当我开始递归时,我有n个:
111
/ | \
/ | \
011101110
/ / / \ / \
001 010 001 100 010 100
当我达到最低水平时,我只有一个1。我找到了针对这个简单问题的最佳解决方案(最简单的方法),然后将其用于进一步的计算。
但是,我有一个问题,这个最佳解决方案可能导致重叠。