【发布时间】:2020-05-14 15:51:20
【问题描述】:
这是我最近参加的编码挑战面试中的一个问题。我想出了一个 hacky 解决方案,但我相信还有更好的方法。
其中一个要求是找到一组包含该数字的字符串。数字后面的字母表示主要组的子集。以下字符串中的组将是字符串“ford1”、“ford333”、“ford4”、“ford2”
字符串代码 = "ford1, ford333, ford4, ford4a, ford4b, ford1a, ford2, ford333a";
请注意,一旦字符串被解析,您就不能对其进行排序。
输入规范: 输入由单个字符串组成,其中包含逗号分隔的子字符串。每个子字符串都以一个或多个字母开头,后跟一个或多个数字,然后是零个或多个字母。这是一个示例输入:
String codes = "ford1, ford333, ford4, ford4a, ford4b, ford1a, ford2, ford333a";
规则:算法必须找到每个数字后没有字母的子字符串。
输出规范: 输出应为符合规则的子串列表。输出不需要按排序顺序。该示例的输出是:
"ford1", "ford333", "ford4", "ford2"
【问题讨论】:
-
您的问题是什么?请看How to ask
-
问题是如何解析字符串。我给出了输入和预期输出。
-
我试图澄清算法的描述,但一个好的算法问题也应该显示你的代码。据我们所知,您已经拥有了最好的算法。但也许有人可以教你如何打磨代码,这样虽然算法不变,但代码看起来更干净。
-
@vivek_23 对不起,伙计。不是故意不理你的。