从混洗字符串中查找可能的原始字符串

时间:2016-12-12 09:53:44

标签: string algorithm data-structures

我有问题。这是描述。

  

2个字符串之间的距离是两者之间的绝对差值之和   相同位置的字母(例如差异(" ab"," cd")=   abs(' a' - ' c')+ abs(' b' - ' d')= 4)。有一个字符串 orig 。然后,    orig 的字母被洗牌。然后,您可以替换仅一个   来自字符串的字母及其下一个或上一个字母或字母   什么都不做(不要替换任何字母)。让我们为新字符串命名   的 ST 即可。设 X st orig 之间的距离。鉴于 st

     

我的问题是,鉴于 st ,我需要为每个距离生成    X (其中 X =距离(orig,st),来自给定字符串 st 的可能字符串 orig 的数量。

     

更清楚的解释:我需要生成可能的数量   可以转换为具有距离的st的字符串orig(orig,st)   等于 X (其中0≤x≤250)。

     

约束:

     
      
  • ' B' ≤st i ≤' y'
  •   
  • 1≤| st | ≤10
  •   
  • 0≤X≤250
  •   

我尝试过使用bitmasking进行动态编程,但问题似乎很慢(复杂性是O(2 | st | * | st | * | X | ))。有没有更适合解决这个问题的算法或数据结构?非常感谢任何提示或意见。谢谢:D

*如果有不明确的解释,请告诉我:D

0 个答案:

没有答案