【发布时间】:2016-07-11 08:24:02
【问题描述】:
假设我有一个输入:
['145689']
我有一本字典{'1': 'a', '2': 'b', '3':'c' ..., '26': 'z', '27':' '}。我正在尝试从左到右查找此输入字符串的不同有效组合,这可能会导致所有可能的字符串。
示例输入:
['11']
示例输出:
['aa', 'j']
'ab' 来自'1' '1' 的组合,'10' 对应于'j'。
这样做的蛮力方法是什么?
【问题讨论】:
-
您应该考虑使用实际数字而不是字符串的字典。如果这些数字恰好是字典中的字母位置,则您的代码可以非常简单。您只需找到最大的匹配项,然后返回较小的匹配项。
-
你能举一个超过2个字符的例子吗?如果有 3 个字符,[a]、[ab]、[abc] 和 [bc] 都算,还是不算 [bc]?
-
我删除了我的答案,因为我意识到我不明白你是示例输出; b如何映射到0,b不映射到2?
-
@en_Knight 抱歉,我的描述中有错误。你说得对。映射中没有 0。
-
@newtherapy 对我来说仍然没有意义 - “10 对应于'j'”,你的意思是“11 对应于 k”,否则我们从哪里得到“10”的“0” "来自
标签: python string algorithm string-matching