这是左代码上的要约II 114。困难是困难的。
标签:“ tu lotation”,“顶级排序”,“建筑”,“ tu lunar bfs”
有一种使用英语字母的外国语言。该语言的字母顺序与英语顺序不同。
给定一个字符串列表。作为该语言的词典,该语言中的字符串已按照这种新语言的字母顺序进行排序。
请根据词典恢复本语言的字母顺序,并安排信件的命令。如果没有法律信件命令,请返回。如果有多个可能的法律信件,请返回任何一个。
字符串字典顺序的两种情况小于字符串:
在第一个不同的字母中,如果字母按照这种外国语言的差异顺序,则字典的顺序小于以前的字母相同,那么字典的顺序小于。
示例1:
示例2:
示例3:
暗示:
为了方便起见,我们称之为它,同时,两个字符串之间的字典序列之间的关系称为“关系”。
由于阵列长度的最大长度和每个$ WS [I] $的最大长度为$ 100 $,因此我们可以实现一种复杂性(n^3)$复杂性的算法。
首先,很容易想到后面处理中的每个$ ws [i] $,并且数组本身已根据字典顺序进行排序,然后是$ ws [i] $和$ ws之间的关系[j] $(其中$ j $ j $ j $ the范围是$ [0,i -1] $)来建立字符之间的关系。
具体而言,当我们知道字符$ c1 $小于$ c2 $ dictionary订单时,我们可以建立一个指导$ c1 $至$ c2 $。在同一时间。
当构造图完成后,我们从所有点开始,点$ 0 $(意思是没有比这些字符词典较小的字符字典的字符)。您可以看到边缘点的传入点从图中删除)和已删除点的出口点。如果有$ 0 $的新点,它将执行团队操作。
不了解拓扑排序的学生可以看到正面吗?:拓扑排序条目
如果最终团队中的节点数量等于$ cnt $的总数,则意味着这是一个拓扑图(否-loop,字符之间没有字典冲突)。
代码:
这是我们“通过Leetcode”系列的第一篇文章。该系列始于2021/01/01。从开始开始时的起始代码开始,总共有1916年的问题。该主题已经完成。
在这一系列文章中,除了解释问题 - 解决想法之外,还将尽可能多地提供最简洁的代码。如果涉及通信,将有相应的代码模板。
为了使学生更容易在计算机上调试和提交代码,我建立了一个相关的仓库:https://github.com/sharingsource/logicstack-letcode。
在仓库地址中,您可以看到一系列文章的解释链接,一系列文章的相应代码,leetcode的原始链接以及其他首选解决方案。
原始:https://juejin.cn/post/7103721757957160973