【发布时间】:2017-03-02 19:54:21
【问题描述】:
我有一个预定的字符串层次结构,想返回层次结构中排名较高的字符串,其中一些字符串是另一个字符串的子字符串。例如“abb”和“abb be”
层次结构 - abc de、abb be、ccdd、aab、abb、aabb、abc、ccde
我想根据层次结构中的顺序输出字符串
输入 - abb、aabb、ccdd
输出 - ccdd
对于上面的示例,输出应该是 ccdd,因为它在层次结构中列在 aab 和 aabb 之前
这里还有一个例子-
输入 - abc、aabb、ccde
输出 - aabb
这里的输出应该是 aabb,因为它在层次结构中列在 abc 和 ccde 之前
解决此类问题的最佳方法是什么?
【问题讨论】:
-
首先我没有看到任何层次结构,而只是一个字符串列表,所以这听起来像是从另一个列表问题中按索引排序。第二,为什么第二个例子也没有返回ccdd(它在abc和aabb之前)?
-
同意 Ivan,我也会在第二个例子中返回 ccdd
-
您尝试使用哪种语言来解决此问题? C# 中的“最佳方式”可能与 VBA 中的完全不同!
-
@IvanStoev 我更新了问题,ccdd 是印刷错误。层次结构列表中列出的顺序反映了层次结构
-
所以问题可以定义为:从预定义的列表中找到索引最小的输入元素。您可以通过多种方式处理它,包括简单的
for循环,以防输入相对较小。