分词
问题
让函数 WordSplit(strArr) 读取存储在 strArr 中的字符串数组,该数组将包含2个元素:第一个元素将一个字符串,第二个元素是一个由逗号分隔的长字符串。例如:strArr 可以是:[“hellocat”, “apple,bat,cat,goodbye,hello,yellow,why”]。您的目标是确定输入中的第一个元素是否可以分为两个词,其中两个词都存在于第二个长字符串中。在此示例中,第一个元素可以分为两个词:hello 和 cat 因为这两个词都在长字符串中。
您的程序应返回长字符串中存在的两个单词,并用逗号分隔。因此,对于上面的示例,您的程序应返回hello,cat。只有一种正确的方法将字符的第一个元素分成两个单词。如果无法将字符串分成长字符串中存在的两个单词,则返回字符串 not possible 。第一个元素本身永远不会在长字符串中作为真实单词存在。
例子
1 | 输入:["baseball", "a,all,b,ball,bas,base,cat,code,d,e,quit,z"] |
1 | 输入:["abcgefd","a,ab,abc,abcg,b,c,dog,e,efd,zzzz"] |
代码
1 | def WordSplit(strArr): |
输出:
1 | >>> hello,cat |
思路
通过问题描述以及实例可以了解到,返回的单词能且只能是两个。所以,创建两个循序让长字符串中的任意两个单词进行拼接,让拼接的结果去和 strArr 中第一个元素判定是否相等。如果相等返回找到的两个单词。否则返回字符串 not possible 。
PS: 如果您发现文中有错误、思路不够清晰等问题或者您有更优解,都可以在下方留言!!!