Programación competitivafácil

Buscar en una matriz casi ordenada

Guía detallada e implementación de Python para el problema 'Buscar en una matriz casi ordenada'.

Declaración del problema

fácil

Escriba una función search_almost_sorted(arr, target) que busque un valor target en una matriz casi ordenada arr. Una matriz casi ordenada es aquella en la que un elemento que debería estar en el índice i en una matriz completamente ordenada puede estar en el índice i-1, i o i+1. Devuelve el índice basado en 0 del objetivo si se encuentra; de lo contrario, devuelve -1.

Restricciones
  • 1 <= len(arr) <= 10^5
  • -10^9 <= arr[i], target <= 10^9
  • All elements in arr are unique.

Ejemplos

Example 1
Input
search_almost_sorted([10, 3, 40, 20, 50, 80, 70], 40)
Output
2
Explanation

40 is at index 2 (which is its correct position in a fully sorted version).

Example 2
Input
search_almost_sorted([10, 3, 40, 20, 50, 80, 70], 90)
Output
-1
Explanation

90 does not exist in the array.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos específicas de Búsqueda y clasificación, 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.