【发布时间】:2022-08-24 16:49:52
【问题描述】:
给定一个 1 和 0 的数组。我们需要将所有 1\'s 移动到 0 最小 成本
我们可以向左或向右移动,多个不能移动到同一位置。
每次移动成本为 1。
Ex: array = 0001101 Here the optimal solution is 5 , x means it cannot be occupied 1. 3rd index to 2nd index -> cost = 1 , array = 00xx101 2. 4th index to 1st index -> cost = 3 , array = 0xxxx01 3. 6th index to 5th index -> cost = 1 , array = 0xxxxxx我通过蛮力方式尝试找到它最接近 0 并移动它,但是 没有成功。在这里需要一些专业知识的帮助。
-
请分享更多详细信息,例如涉及的代码
-
@Dave我认为OP的问题不等同于您指出的问题。 OP想要摆脱那些(通过将它们移动到零位置)。他不想把 1 和 0 凑到一起。此外,似乎 OP 有一个额外的限制,即在他的途中经过的零(以及一个人的原始位置)不能用于其他人的未来移动。
-
@JohnDoe 同意;我的错。
标签: algorithm data-structures dynamic-programming