es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué mi solución no puede pasar la pregunta de Word-Break de Leetcode?

Mi solución no funciona cuando hago clic en “Enviar” ya que falla en algunos casos, sin embargo, cuando ejecuto esos mismos casos de prueba, en la sección de pruebas personalizadas, funciona. ¿Alguien podría ayudarme a descubrir por qué?

Aquí está mi solución:

class Solution:
    storage = set()

    def wordBreak(self, s: str, wordDict: List[str]) -> bool:
        if not s or s in self.storage:
            return True

        for word in wordDict:
            if word in s:
                lst = s.split(word, 1)
                if self.wordBreak(lst[0], wordDict) and self.wordBreak(lst[1], wordDict):
                    self.storage.add(s)
                    return True
        return False

Aquí está el caso de prueba:

"a"
["b"]

Aquí hay una imagen de cómo no funciona al enviarlo, pero sí funciona bajo pruebas personalizadas.
Imagen

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Hay algunas posibles razones por las cuales el código funciona para casos de prueba personalizados pero falla en la entrega:

    1. La entrega tiene un conjunto diferente de casos de prueba que no están cubiertos en los casos de prueba personalizados. Esto significa que el código puede funcionar para algunos casos pero no para todos los casos.
    2. El código puede tener efectos secundarios no intencionados o suposiciones ocultas que solo se presentan en el entorno de entrega. Esto puede ocurrir si el entorno de entrega tiene configuraciones o ajustes diferentes en comparación con el entorno local donde se ejecutaron los casos de prueba personalizados.

    3. El código puede tener restricciones de tiempo o recursos que no se están cumpliendo en el entorno de entrega. Esto puede ocurrir si el entorno de entrega tiene especificaciones de hardware o limitaciones diferentes en comparación con el entorno local.

    Para determinar por qué el código falla en la entrega, se recomienda depurar el código e investigar por qué no funciona para los casos de prueba fallidos. Esto puede implicar agregar declaraciones de impresión, utilizar un depurador o analizar la lógica del código para identificar posibles problemas o errores. También puede ser útil consultar la documentación o los recursos de soporte para la plataforma donde se está enviando el código, para comprender cualquier restricción o requisito que pueda afectar el rendimiento del código.

Comments are closed.