这是一种编辑距离问题,非常简单。我只是在这个问题上脑子死了,到目前为止还不能弄清楚。
给定一系列数字,例如
[3, 1, 1, 1]
如何以最少的“移动”数将所有数字最有效地转换为相同的数字?“移动”是指从数字中添加或删除一个。
在上面的示例中,最有效的举动是:
[1, 1, 1, 1]
这将需要2步,将第一个数字减少两次。
给定大得多的数百个数字数组,我无法找出找到此结果的最佳方法。
我最初尝试计算四舍五入的平均值(所有值的总和除以长度),然后将其减小为计算的平均值,但是上面的示例破坏了这一点,需要4步而不是2步。
我想我可以算:
- 平均
- 模式,
- 中位数
并获得它们各自的编辑距离,并选择最小距离。但是,我不确定在每个实例中这是否正确。我怎么知道?