Maksima przesuwnego okna
Znajdź maksimum każdego pełnego okna liczbowego o stałej szerokości.
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| Sprawdź przed zastosowaniem | Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami. |
|---|---|
| Modele | Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie. |
| Projekt | Sprawdź powtarzające się maksima, liczby ujemne i granice szerokości, odrzucając wartości nieskończone i szerokości spoza długości wejścia. |
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 resultPowiąż zmianę obliczenia z jego wynikiem
WindowRidge to środowisko programistyczne AI dla Windows do omawiania zmian w kontekście projektu, który będzie ich używał. Zacznij od wyniku oczekiwanego przez aplikację i wskaż kod, który go tworzy. Poproś podłączony model o sprawdzenie obecnej ścieżki przed zaproponowaniem zamiennika, aby szczegóły implementacji pozostawały związane z widocznym wymaganiem.
Obliczanie maksimum w oknie o stałej szerokości to jedno z użytecznych zadań. Określ, że każdy wynik odpowiada pełnemu oknu, i dołącz kod wywołujący, który wiąże wyniki z pozycjami wejściowymi. Omów powtarzające się maksima, wartości ujemne i prawidłowe granice szerokości przed zleceniem zmiany. Nadaje to przeglądowi kontrakt wykraczający poza uzyskanie największej liczby w krótkiej próbce.
Użyj testów projektu do porównania proponowanego wyniku z jawnymi przypadkami testowymi. Sprawdź liczbę wyników i ich przypisanie oraz wartości, w tym szerokość równą jeden i długości wejścia. Jeśli zmiana ma poprawić wydajność, zmierz ją przy własnym obciążeniu, zamiast wywodzić gwarancję szybkości z innej implementacji.
Podłącz obsługiwany punkt końcowy zgodny z OpenAI lub Anthropic, aby wybrać model dla WindowRidge. Ten dostawca może udostępniać model AI bez ograniczeń, z danymi uwierzytelniającymi tam, gdzie są wymagane. Zachowanie modelu, pojemność kontekstu i obsługa narzędzi zależą od rzeczywistego połączenia; akceptacja zmiany obliczenia nadal wymaga Twojej oceny i weryfikacji.
Planowanie poprawki obliczeń okienkowych
- Dlaczego pokazać odbiorcę wyniku oprócz procedury?
Odbiorca może wiązać każdą wartość z konkretną pozycją wejściową. Zmiana może zachować maksima, przesuwając to przypisanie. Dołącz kod wywołujący i określ, jakie okno reprezentuje każdy wynik, aby przegląd obejmował przypisanie oraz arytmetykę.
- Jakie szerokości należą do małego zestawu przypadków testowych?
Użyj jednego, pełnej długości wejścia i nieprawidłowej szerokości, obok zwykłego przypadku potrzebnego aplikacji. Określ zasadę odrzucania nieprawidłowych wartości. Zweryfikuj wartości i liczbę wyników istniejącymi kontrolami projektu.
- Jak ocenić sugestię dotyczącą wydajności?
Najpierw potwierdź równoważne zachowanie na swoich przypadkach testowych. Następnie zmierz propozycję na reprezentatywnych danych własnymi narzędziami. Wyjaśnienie podejścia przez model to użyteczny kontekst przeglądu, lecz nie dowód wydajności w Twojej aplikacji.
- Czy powtarzające się maksima wymagają szczególnej uwagi?
Uwzględnij je, ponieważ implementacja może śledzić pozycje kandydatów oraz wartości. Poproś o wyjaśnienie, jak starzy kandydaci opuszczają okno, następnie porównaj proponowane zachowanie z jawną oczekiwaną sekwencją przed przyjęciem poprawki.
WindowRidge · Zaktualizowano 2026-10-25