我在一次采访中被问到这个问题。假设你有一个有序的字典,并且给定了一个无序字符列表——你将如何按优先顺序排列这些字符?该词典包含保证出现所有 26 个字符的单词。但是,请注意字典的大小可能是任何值。字典可能只有几个单词,并且每个字符可能没有单独的部分,例如,以a;开头的单词可能没有部分。尽管a将作为另一个词的一部分出现,例如“bat”。
字典可能是“有序的”(/sarcasm),例如“zebra”、“apple”、“cat”、“crass”,如果给定列表 { a, z, r},正确的顺序是 { z, a, r}. 由于字典中“zebra”在“apple”之前,所以我们知道z在之前a出现。由于“apple”在“cat”之前,我们知道a在之前c。因为“cat”在“crass”之前,我们知道出现a在 之前r。这个排序离开c并且r存在不确定性,但是由于字母列表是 { a, z, r},我们知道解决方案是 { z, a, r}。