Python 什么样的算法可以在这里工作?

Python 什么样的算法可以在这里工作?,python,algorithm,python-2.7,Python,Algorithm,Python 2.7,我需要写一个煎饼算法,像这样工作。假设服务生提供的煎饼有“+”面朝上或“-”面朝上。所以一堆煎饼看起来像这样:“--+-”。我的目标是让所有的煎饼都有“+”面朝上。但这里的问题是,我只能从顶部(字符串的左侧)翻转它们,并且只能翻转批次。因此,切换“-+-”的有效步骤是: 翻转整个批次。(“+-+”) 然后翻转顶部的一个以获得(“--++”) 然后翻转顶部的两个以获得(“+++”) 我必须以尽可能少的动作实现这一点。我曾尝试在网上查找,但已经找到了依赖于不同数量的数字的算法。我只是想知道如何解决这

我需要写一个煎饼算法,像这样工作。假设服务生提供的煎饼有“+”面朝上或“-”面朝上。所以一堆煎饼看起来像这样:“--+-”。我的目标是让所有的煎饼都有“+”面朝上。但这里的问题是,我只能从顶部(字符串的左侧)翻转它们,并且只能翻转批次。因此,切换“-+-”的有效步骤是:

  • 翻转整个批次。(“+-+”)
  • 然后翻转顶部的一个以获得(“--++”)
  • 然后翻转顶部的两个以获得(“+++”)
  • 我必须以尽可能少的动作实现这一点。我曾尝试在网上查找,但已经找到了依赖于不同数量的数字的算法。我只是想知道如何解决这个问题。
    另外,我正在用Python编写这段代码,我是新手。因此,任何帮助都将不胜感激!:)

    这是一个递归问题。看看汉诺威城门的塔楼,看看还有什么。我来看看这些!