Maxima gleitender Fenster
Ermitteln Sie das Maximum jedes vollständigen Zahlenfensters fester Breite.
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| Vor dem Anwenden prüfen | Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen. |
|---|---|
| Modelle | Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen. |
| Projekt | Prüfen Sie gleiche Maxima, negative Werte und Breitenränder und lehnen Sie nicht endliche Werte sowie unzulässige Fensterbreiten ab. |
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 resultEine Berechnungsänderung mit ihrer Ausgabe verbunden halten
WindowRidge ist eine KI-Programmierumgebung für Windows, um Änderungen im Kontext des Projekts zu besprechen, das sie nutzen wird. Beginnen Sie mit der erwarteten Anwendungsausgabe und ermitteln Sie den erzeugenden Quellcode. Lassen Sie das verbundene Modell den aktuellen Pfad vor einem Ersatzvorschlag untersuchen, damit Implementierungsdetails an eine sichtbare Anforderung gebunden bleiben.
Eine Maximumsberechnung mit fester Fensterbreite ist eine nützliche Aufgabe. Legen Sie fest, dass jedes Ergebnis einem vollständigen Fenster entspricht, und beziehen Sie den Aufrufer ein, der Ergebnisse Eingabepositionen zuordnet. Besprechen Sie wiederholte Maxima, negative Werte und gültige Breitengrenzen vor einer Änderungsanfrage. So erhält die Prüfung eine Vereinbarung, die über die größte Zahl in einem kurzen Beispiel hinausgeht.
Vergleichen Sie vorgeschlagene Ausgaben mit ausdrücklichen Testdaten Ihres Projekts. Prüfen Sie Ergebnisanzahl und Zuordnung ebenso wie Werte, einschließlich Breite eins und Breite gleich Eingabelänge. Soll die Änderung effizienter sein, messen Sie dies mit Ihrer eigenen Arbeitslast, statt aus einer anderen Implementierung eine Geschwindigkeitsgarantie abzuleiten.
Verbinden Sie einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt, um das Modell für WindowRidge zu wählen. Ein uneingeschränktes KI-Modell kann beim Anbieter verfügbar sein, bei Bedarf mit Zugangsdaten. Modellverhalten, Kontextkapazität und Werkzeugunterstützung hängen von der tatsächlichen Verbindung ab; die Annahme einer Berechnungsänderung erfordert weiterhin Ihre Prüfung und Verifikation.
Eine Änderung einer Fensterberechnung planen
- Warum den Ausgabeabnehmer zusammen mit der Routine zeigen?
Ein Abnehmer kann jeden Wert einer bestimmten Eingabeposition zuordnen. Eine Änderung kann Maxima bewahren und dennoch diese Zuordnung verschieben. Beziehen Sie den Aufrufer ein und definieren Sie das Fenster jeder Ausgabe, damit die Prüfung Zuordnung und Arithmetik abdeckt.
- Welche Breiten gehören in eine kleine Testsammlung?
Nutzen Sie eins, die gesamte Eingabelänge und eine ungültige Breite neben dem gewöhnlichen Anwendungsfall. Legen Sie die Ablehnungsregel für ungültige Werte fest. Prüfen Sie Werte und Ergebnisanzahl mit Ihren bestehenden Projekttests.
- Wie beurteile ich einen Effizienzvorschlag?
Bestätigen Sie zuerst gleichwertiges Verhalten anhand Ihrer Testdaten. Messen Sie den Kandidaten dann mit repräsentativen Daten und eigenen Werkzeugen. Eine Modellerklärung des Ansatzes ist nützlicher Prüfkontext, aber kein Leistungsnachweis in Ihrer Anwendung.
- Brauchen wiederholte Maxima besondere Aufmerksamkeit?
Nehmen Sie sie auf, weil eine Implementierung Kandidatenpositionen und Werte verfolgen kann. Lassen Sie erklären, wie alte Kandidaten das Fenster verlassen, und vergleichen Sie das Verhalten vor der Annahme des Patches mit einer ausdrücklich erwarteten Folge.
WindowRidge · Aktualisiert 2026-10-25