Search in Almost Sorted Array
Detailed guide and Python implementation for the 'Search in Almost Sorted Array' problem.
Problem Statement
Write a function search_almost_sorted(arr, target) that searches for a target value in an almost sorted array arr. An almost sorted array is one in which an element that should be at index i in a fully sorted array can instead be at index i-1, i, or i+1. Return the 0-based index of the target if found, otherwise return -1.
- •1 <= len(arr) <= 10^5
- •-10^9 <= arr[i], target <= 10^9
- •All elements in arr are unique.
Examples
search_almost_sorted([10, 3, 40, 20, 50, 80, 70], 40)
2
40 is at index 2 (which is its correct position in a fully sorted version).
search_almost_sorted([10, 3, 40, 20, 50, 80, 70], 90)
-1
90 does not exist in the array.
Need a Hint?
Edge Cases to Watch
- Empty input structures
- Single element inputs
- Large numerical bounds
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.
Recommended Python Resources
Expand your knowledge with related interactive tutorials, cheat sheets, and code comparisons.
Python Try/Except & Error Handling
Prevent your Python scripts from crashing. Learn try, except, finally blocks and how to raise custom exceptions properly.
How to Reverse a String in Python
Learn how to reverse a string in Python using slicing, the reversed() function, and loop concatenation with visual code examples.
Python String Methods
A complete reference guide for Python string manipulation. Master formatting, searching, splitting, replacing, and checking string properties.
Python vs JavaScript: Which Programming Language is Best?
A comprehensive comparison between Python and JavaScript. Explore syntax differences, performance, use cases (backend vs frontend), and coding examples.