【问题标题】:Circular Walk in a string在字符串中循环行走
【发布时间】:2017-09-06 12:57:52
【问题描述】:

给你一个字符串,其中'A'表示你可以顺时针移动1步,'C'表示你可以逆时针移动一步,'?'表示您可以顺时针或逆时针移动一步。因此,给定一个字符串,在任何给定时间点找到与初始位置的最大距离。

例如:- 输入:- AACC?CC 输出:- 3 解释: - 如果?替换为 C 则最大距离将变为 3

解决这个问题的最佳方法?

【问题讨论】:

  • 这个网站不是关于解决编程/算法问题的。请添加一些代码来显示您已经尝试过的内容。
  • 我没有要求解决。只是询问了方法。
  • 好的,对于一种方法,您可以考虑计算“A”字符和“C”字符,取最大值并加上“?”的数量。

标签: string dynamic-programming


【解决方案1】:
str = "AACC?CC"
count = 0
extra = 0
for i in str:
    if i == 'A':
        count -= 1
    elif i == 'C':
        count += 1
    else:
        extra += 1

dist = abs(count) + extra
if count < 0:
    print "AntiClockwise:",
else:
    print "ClockWise:",
print dist

试试这个。但是必须进行'A','C'动作,所以你应该左右移动。 '?' 是可选的。你可以数一下有多少'?在那里并将其添加到最终答案中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-22
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2015-04-21
    • 2020-07-06
    相关资源
    最近更新 更多