我遇到了问题。整体问题陈述很大。我已经解决了它的其他部分。 卡在一块。
给定一个包含一些破折号的字符串(' - ')并且某些字符可以说(' A')。此外,我们给出了成本C来将角色转移到其相邻的位置。我们需要找到所有' A'字符分组。
示例1:A-A - A --- A且成本= 10
将所有' A组分组的最低费用为:80
示例2:AAAA ------ A和成本= 10
将所有' A组分组的最低费用为:60
答案 0 :(得分:2)
提示:为了尽可能降低成本,可以保留其中一个中位数As(第一个例子中的第2个或第3个,第二个例子中的第3个中的第3个)。使用它,您可以用O(n)计算成本,其中n是字符串的长度或As的数量,以您的输入格式为准。
答案 1 :(得分:2)
我不认为这个问题需要动态编程。 您只需要将所有A移动到中位数A,因为这是所有A之间的总距离最小。
请确保不要移动媒体A.如果中间位置的A向右移动,则其左侧的每个A将需要再移动一步并且每个A&#39 ; s右侧必须减少一步。这应该取消,但你已经添加了一个不需要的步骤。