所以我不确定我将如何解决这个问题,所以任何人都可以提出任何算法或方法来解决这个问题吗?
更具体地说,这个词不能由元素周期表中元素的字母组成,因为这意味着这个词总是可以组成的。我要问的是这个词是否可以通过附加元素的简短形式来组成。
另外,您建议的方法的运行时间是多少?
对不起,如果问题仍然太模糊。如果缺少详细信息,我将进行编辑。
这相当于将字符串分割成 "words",其中您的 "words" 是元素周期表中的元素缩写。那篇文章对各种解决方案进行了很好的长篇文章。它基本上归结为一个动态编程问题,您试图使用元素作为片段来消耗目标字符串的一部分。
一个正则表达式就可以了。只需检查您的字符串是否匹配
/(H|He|Li|... all other elements ...)*/i
正则表达式可以编译为具有O(N)
复杂性,N
输入的长度在哪里(正则表达式的复杂性是多少?)。