java - 给定 SuperString 是否可以使用给定子字符串的任意组合
问题描述
假设我们有输入子字符串——“john”“mathew”“carl”我们必须找到超级字符串可以使用这些子字符串形成或不输出应该是“yes”或“no”
例如-
子字符串-约翰·马纽·卡尔
super String 1- johncarl (john 和 carl 都在子字符串中) 输出-是
super String 2-carlmathewjohn(john,mathew and carl all are in sub strings) 输出-是
super String 3-mohammedjohn(子字符串中没有穆罕默德)输出-否
超级字符串 4-johnadbul(子字符串中没有 abdul)输出-否
super String 5-john 输出是
super String 6-carlmathewjohnrohit(子字符串中没有 rohit)输出 no
解决方案
您可以使用 Map 来完成此操作,通常只需一次通过。
字符串是否以任何可用单词开头,如果不是,则停止。
如果是,则删除该单词并继续,直到字符串被使用。或者你必须停下来。唯一的复杂性是当这里有多个可能的单词要使用时,在这种情况下你需要全部尝试。为此,您需要递归和一些回溯。
推荐阅读
- c# - 两个相同的 Azure 部署;一个总是抛出 404 - 如何找出区别是什么?
- javascript - Javascript 阻止orientationchange 事件处理程序能够同时执行多次
- html - 当用户点击向上向下箭头键时,有没有办法防止在输入日期触发事件?
- angular - 我应该如何在 angular.js 中实现事件处理。通常它不起作用
- reactjs - React Typescript 功能组件语法错误
- visual-studio-code - 在 Visual Studio Code 中运行自定义命令作为运行配置
- amazon-web-services - 如何将我的域与我的 AWS Lightsail 容器服务一起使用?
- python - 将图片上传到谷歌驱动器而不提醒用户
- testing - 如何连续运行线程组,然后在 jmeter 中再次启动相同的循环
- python-3.x - 如何列出单词最多的一行中的单词数?