【发布时间】:2022-01-29 03:57:55
【问题描述】:
我正在努力解决这个特殊问题,并且不太确定如何解决它,任何想法都会非常感激。
我有一个大小为 n 的数组,例如 3
[8, 10, 5]
我想从这个数组中减去值,直到所有索引都相等,使用尽可能少的减去值。
这个特定问题的答案是
8 10 5
8 8 3 Subtract 2 from index 1 and 2
3 3 3 Subtract 5 from index 0 and 1
[3, 3, 3]
要求:
数组不能移动(不能移动索引)
只允许减法
您只能减去两个彼此相邻的索引(例如,如果我想减少 index[1],我还必须减少 index[0] 或 index[2])
减去多个索引必须是相同的值(例如,将 index[1] 减去 3,我必须在 index[1] 旁边选择一个索引并将其减去相同的数量(3))
目标:通过尽可能少的减法使数组中的所有值相等。
感谢任何帮助,因为我完全不知道如何开始解决这个问题!
【问题讨论】:
-
答案如何
{3, 3, 3}。你采取了哪些步骤来得到这个答案? -
数组索引为 0, 1, 2。它们不会改变。我认为您的意思是 elements 变得相等。
-
感谢您的反馈,我已经更新了我的问题。
-
有许多输入数组根本不可能。有什么额外的限制吗?
-
数组是否限制为 3 个元素?在您的问题中,您说明了大小 n。