Search⌘ K
AI Features

Solution: Verifying an Alien Dictionary

Explore how to determine if a list of words is sorted according to a custom alien alphabet. This lesson guides you through comparing adjacent words using a topological sort approach, implementing efficient character ranking, and handling edge cases like prefix words. You will understand how to develop and optimize a solution that checks the lexicographical order with improved time complexity and practical code implementation.

Statement

In an alien language, the alphabet consists of the same lowercase English letters but arranged in a different order.

Given a list of words, words, written in this alien language, and a string order representing the order of the alien alphabet (as a permutation of lowercase letters), return TRUE if the words are sorted lexicographically according to order; otherwise, return FALSE.

Note: A word a is considered lexicographically smaller than word b if:

  • At the first position where the two words differ, the character in a comes before the character in b in the given order string.

  • If one word is a prefix of the other (and all compared characters are the same), then the shorter word is considered smaller.

Constraints:

  • 11 \leq words.length 100\leq 100
  • 11 \leq words[i].length 20\leq 20
  • order.length ==26== 26
...