150 najlepszych wywiadówŁatwe

Słownik obcych

Szczegółowy przewodnik i implementacja Python dla problemu „Alien Dictionary”.

Oświadczenie o problemie

Łatwe

Istnieje nowy obcy język, w którym używa się alfabetu angielskiego. Jednak kolejność liter nie jest ci znana.

Otrzymasz listę ciągów słów ze słownika obcego języka, gdzie ciągi słów są posortowane leksykograficznie zgodnie z zasadami nowego języka.

Zwraca ciąg unikalnych liter w nowym obcym języku, posortowanych w rosnącej kolejności leksykograficznej według reguł nowego języka. Jeśli nie ma rozwiązania, zwróć „”. Jeśli istnieje wiele rozwiązań, zwróć dowolne z nich.

Napisz funkcję alienOrder(words: List[str]) -> str.

Ograniczenia
  • 1 <= len(words) <= 100
  • 1 <= len(words[i]) <= 100
  • words[i] consists of lowercase English letters

Przykłady

Example 1
Input
words = ["wrt","wrf","er","ett","rftt"]
Output
"wertf"
Explanation

From the sorted words, we can derive the relationships: 'w' -> 'e', 'r' -> 't', 't' -> 'f', etc.

Example 2
Input
words = ["z","x"]
Output
"zx"
Explanation

From "z" and "x", we know 'z' comes before 'x'.

Example 3
Input
words = ["z","x","z"]
Output
""
Explanation

The order is invalid because 'z' comes before 'x' and 'x' comes before 'z'.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla zaawansowanych wykresów, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.