Maksimum jendela bergeser
Temukan maksimum pada setiap jendela angka lengkap berlebar tetap.
from collections import deque
from math import isfinite
def window_max(values, width):
if type(width) is not int or not 1 <= width <= len(values):
raise ValueError("width")
if not all(map(isfinite, values)): raise ValueError("finite values")
queue, result = deque(), []
for i, value in enumerate(values):
while queue and queue[0] <= i - width: queue.popleft()
while queue and values[queue[-1]] <= value: queue.pop()
queue.append(i)
if i >= width - 1: result.append(values[queue[0]])
return result| Tinjau sebelum menerapkan | Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain. |
|---|---|
| Model | Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah. |
| Proyek | Periksa maksimum berulang, nilai negatif dan batas lebar, menolak nilai tak hingga dan lebar di luar panjang masukan. |
from collections import deque
from math import isfinite
def window_max(values, width):
if type(width) is not int or not 1 <= width <= len(values):
raise ValueError("width")
if not all(map(isfinite, values)): raise ValueError("finite values")
queue, result = deque(), []
for i, value in enumerate(values):
while queue and queue[0] <= i - width: queue.popleft()
while queue and values[queue[-1]] <= value: queue.pop()
queue.append(i)
if i >= width - 1: result.append(values[queue[0]])
return resultHubungkan perubahan perhitungan dengan keluarannya
WindowRidge adalah ruang kerja pemrograman AI Windows untuk membahas perubahan dalam konteks proyek yang akan memakainya. Mulailah dengan keluaran yang diharapkan aplikasi dan identifikasi sumber penghasilnya. Minta model terhubung memeriksa alur saat ini sebelum mengusulkan pengganti, agar detail implementasi tetap terkait dengan persyaratan yang terlihat.
Perhitungan maksimum berjendela dengan lebar tetap merupakan salah satu tugas berguna. Nyatakan bahwa setiap hasil sesuai dengan satu jendela lengkap, dan sertakan kode pemanggil yang mengaitkan hasil dengan posisi masukan. Bahas maksimum berulang, nilai negatif, dan batas lebar valid sebelum meminta suntingan. Ini memberi tinjauan kontrak yang melampaui sekadar memperoleh angka terbesar dalam contoh pendek.
Gunakan pengujian proyek untuk membandingkan keluaran usulan dengan data uji eksplisit. Periksa jumlah dan keselarasan hasil serta nilainya, termasuk lebar satu dan lebar yang sama dengan panjang masukan. Jika perubahan dimaksudkan untuk meningkatkan efisiensi, ukur pada beban kerja sendiri, alih-alih menyimpulkan jaminan kecepatan dari implementasi berbeda.
Hubungkan endpoint kompatibel OpenAI atau Anthropic yang didukung untuk memilih model bagi WindowRidge. Model AI tanpa pembatasan mungkin tersedia melalui penyedia itu, dengan kredensial bila diwajibkan. Perilaku model, kapasitas konteks, dan dukungan alat bergantung pada koneksi sebenarnya; menerima perubahan perhitungan tetap memerlukan tinjauan serta verifikasi Anda.
Merencanakan patch perhitungan berjendela
- Mengapa menunjukkan pengguna keluaran selain rutinitasnya?
Pengguna keluaran mungkin mengaitkan setiap nilai dengan posisi masukan tertentu. Suntingan dapat mempertahankan maksimum sambil menggeser kaitan tersebut. Sertakan kode pemanggil dan tentukan jendela yang diwakili setiap keluaran agar tinjauan mencakup keselarasan serta aritmetika.
- Kasus lebar apa yang perlu ada dalam kumpulan data uji kecil?
Gunakan satu, panjang masukan penuh, dan lebar tidak valid, selain kasus biasa yang dibutuhkan aplikasi. Nyatakan kebijakan penolakan nilai tidak valid. Verifikasi nilai serta jumlah hasil menggunakan pemeriksaan proyek yang ada.
- Bagaimana menilai saran terkait efisiensi?
Pastikan dahulu perilaku setara pada data uji Anda. Lalu ukur kandidat dengan data representatif dan alat sendiri. Penjelasan model tentang pendekatan merupakan konteks tinjauan yang berguna, tetapi bukan bukti kinerja dalam aplikasi Anda.
- Apakah maksimum berulang perlu perhatian khusus?
Sertakan karena implementasi mungkin melacak posisi kandidat serta nilainya. Minta penjelasan bagaimana kandidat lama keluar dari jendela, lalu bandingkan perilaku usulan dengan urutan harapan eksplisit sebelum menerima patch.
WindowRidge · Diperbarui 2026-10-25