Pemrograman KompetitifMudah

Cari di Array yang Hampir Diurutkan

Panduan terperinci dan implementasi Python untuk masalah 'Pencarian di Array yang Hampir Diurutkan'.

Pernyataan Masalah

Mudah

Tulis fungsi search_almost_sorted(arr, target) yang mencari nilai target dalam array yang hampir terurut arr. Array yang hampir terurut adalah array yang elemennya seharusnya berada di indeks i dalam array yang terurut sepenuhnya, malah bisa berada di indeks i-1, i, atau i+1. Kembalikan indeks target berbasis 0 jika ditemukan, jika tidak, kembalikan -1.

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

Contoh

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?
Pertimbangkan untuk menggunakan struktur data khusus Pencarian & Penyortiran seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

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

Buka di 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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.