Entrevista a los 150 mejoresfácil

Cadena de paréntesis válida

Guía detallada e implementación de Python para el problema 'Cadena de paréntesis válida'.

Declaración del problema

fácil

Dada una cadena s que contiene solo tres tipos de caracteres: '(', ')' y '*', devuelve True si s es válido.

Las siguientes reglas definen una cadena válida:

- Cualquier paréntesis izquierdo '(' debe tener un paréntesis derecho correspondiente ')'.

- Cualquier paréntesis derecho ')' debe tener un paréntesis izquierdo correspondiente '('.

- El paréntesis izquierdo '(' debe ir antes del correspondiente paréntesis derecho ')'.

- '*' podría tratarse como un único paréntesis derecho ')' o un único paréntesis izquierdo '(' o una cadena vacía.

Escribe una función checkValidString(s: str) -> bool.

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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de Greedy, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el editor
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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.