150 najlepszych wywiadówŁatwe

Koduj i dekoduj ciągi znaków

Szczegółowy przewodnik i implementacja Python dla problemu „Kodowanie i dekodowanie ciągów”.

Oświadczenie o problemie

Łatwe

Zaprojektuj algorytm kodujący listę ciągów w pojedynczy ciąg. Zakodowany ciąg jest następnie dekodowany z powrotem do oryginalnej listy ciągów.

Zaimplementuj dwie funkcje:

- encode(strs: List[str]) -> str — Koduje listę ciągów w pojedynczy ciąg.

- decode(s: str) -> List[str] — Dekoduje pojedynczy ciąg z powrotem do oryginalnej listy ciągów.

Zakodowany ciąg powinien być w stanie obsłużyć wszystkie możliwe znaki w ciągu wejściowym, w tym znaki specjalne i ciągi puste.

Ograniczenia
  • 0 <= len(strs) <= 200
  • 0 <= len(strs[i]) <= 200
  • strs[i] can contain any possible characters (0-255)

Przykłady

Example 1
Input
strs = ["hello", "world"]
Output
["hello", "world"]
Explanation

The list is encoded into a single string and then decoded back to the original list ["hello", "world"].

Example 2
Input
strs = [""]
Output
[""]
Explanation

A list containing a single empty string is encoded and decoded correctly.

Example 3
Input
strs = ["we", "say", ":", "yes"]
Output
["we", "say", ":", "yes"]
Explanation

Special characters like ":" are handled correctly during encoding and decoding.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla tablic i haszowania, 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.