150 najlepszych wywiadówŁatwe

Prawidłowy ciąg nawiasu

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

Oświadczenie o problemie

Łatwe

Biorąc pod uwagę ciąg s zawierający tylko trzy typy znaków: „(”, „)” i „*”, zwróć wartość True, jeśli s jest prawidłowe.

Poniższe reguły definiują prawidłowy ciąg:

- Każdy lewy nawias '(' musi mieć odpowiedni prawy nawias ')'.

- Każdemu prawemu nawiasowi „)” musi odpowiadać lewy nawias „(”.

- Lewy nawias '(' musi poprzedzać odpowiedni prawy nawias ')'.

- „*” można traktować jako pojedynczy prawy nawias „)” lub pojedynczy lewy nawias „(” lub pusty ciąg znaków.

Napisz funkcję checkValidString(s: str) -> bool.

Ograniczenia
  • 1 <= len(s) <= 100
  • s contains only '(', ')' and '*'

Przykłady

Example 1
Input
s = "()"
Output
True
Explanation

Matches perfectly.

Example 2
Input
s = "(*)"
Output
True
Explanation

Treat '*' as empty string.

Example 3
Input
s = "(*))"
Output
True
Explanation

Treat '*' as '('.

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