Entrevista a los 150 mejoresMedio

ladrón de casa

Guía detallada e implementación de Python para el problema 'House Robber'.

Declaración del problema

Medio

Eres un ladrón profesional que planea robar casas en una calle. Cada casa tiene una cierta cantidad de dinero escondida, la única limitación que te impide robar en cada una de ellas es que las casas adyacentes tienen sistemas de seguridad conectados y automáticamente se comunicará con la policía si dos casas adyacentes fueron asaltadas la misma noche.

Dada una matriz de números enteros que representa la cantidad de dinero de cada casa, devuelve la cantidad máxima de dinero que puedes robar esta noche sin alertar a la policía.

Escribe una función rob(nums: List[int]) -> int.

Restricciones
  • 1 <= len(nums) <= 100
  • 0 <= nums[i] <= 400

Ejemplos

Example 1
Input
nums = [1,2,3,1]
Output
4
Explanation

Rob house 1 (money = 1) then rob house 3 (money = 3). Total = 1 + 3 = 4.

Example 2
Input
nums = [2,7,9,3,1]
Output
12
Explanation

Rob house 1 (money = 2), rob house 3 (money = 9) and rob house 5 (money = 1). Total = 12.

Need a Hint?
Considere el uso de estructuras de datos 1D específicas de DP, 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.