假设我们有输入子字符串-“ john”“ mathew”“ carl” 我们必须找到可以使用这些子字符串形成的超级字符串 输出应为“是”或“否”
例如-
子字符串- 约翰 马修 卡尔
超级字符串1- johncarl(john和carl都在子字符串中) 输出是
超级字符串2-carlmathewjohn(john,mathew和carl都在子字符串中) 输出是
超级字符串3-mohammedjohn(子字符串中不包含穆罕默德) 输出否
超级字符串4-johnadbul(子字符串中不包含abdul) 输出否
超级弦乐五强 输出是
超级字符串6-carlmathewjohnrohit(子字符串中没有rohit) 输出否
答案 0 :(得分:0)
您可以使用地图(通常是单次通过)来完成此操作。
字符串是否以任何可用单词开头,如果没有,则停止。
如果是,请删除单词并继续直到使用完字符串为止。否则你必须停下来。唯一的复杂性是,当这里要消耗多个可能的单词时,您需要全部尝试。为此,您需要递归和一些回溯。