FB面经讨论

题是这样的, 给两个list, 一个都是字母, 叫顺序; 第二个是一组单词。
一开始是看每个单词是不是按照顺序的list排列的, 返回是或否
然后假设每个单词都是一样长,判断单词和单词之间有没有按照顺序排列
最后如果单词长短不一怎么判断。

是lc791 和 alien dictionary 的变种。大家有什么思路。
是不是得先预处理order list,变成Map<Character, Set>的形式

给个例子吧

list 1的字母顺序先用Map<char, int>存。list 2每一个单词全部的字符过一遍,只要后面的单词比前一个小就是有序的。

比如 字母顺序:[‘a’,‘d’,‘f’,‘b’,‘c’] 单词:[“aac”,“adb”,“adbbc”,“ffc”,“fbb”,“ccc”] 第一问是判断,每个单词是不是符合字母顺序,第二问是判断单词list前后单词是不是也符合字母顺序。例子中的单词都是依照字母顺序的。但如果在"ffc"后加"dfb"那么顺序就乱了。

有道理,有道理