WWindowRidge
AI-werkruimte voor code

Maxima van schuivende vensters

Vind het maximum van elk volledig numeriek venster met vaste breedte.

● ● ●WindowRidge●
Werkprocessen · Maxima van schuivende vensters ×
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
✳Vind het maximum van elk volledig numeriek venster met vaste breedte.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
Controleer vóór het toepassenVergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
ModellenStel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
ProjectControleer herhaalde maxima, negatieve waarden en breedtegrenzen en weiger niet-eindige waarden en breedtes buiten de invoerlengte.
Werkprocessen

Maxima van schuivende vensters

Werkprocessen ↗
Werkprocessen
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
AI-werkruimte voor code

Houd een berekeningswijziging verbonden met de uitvoer

WindowRidge is een AI-programmeerwerkruimte voor Windows om wijzigingen te bespreken in de context van het project dat ze zal gebruiken. Begin met de uitvoer die je toepassing verwacht en identificeer de broncode die deze produceert. Vraag het verbonden model het huidige traject te inspecteren voordat het een vervanging voorstelt, zodat implementatiedetails aan een zichtbare vereiste gekoppeld blijven.

Een maximumberekening met vaste vensterbreedte is een nuttige taak. Specificeer dat elk resultaat bij een volledig venster hoort en voeg de aanroepende code toe die resultaten aan invoerposities koppelt. Bespreek herhaalde maxima, negatieve waarden en geldige breedtegrenzen voordat je om een wijziging vraagt. Zo krijgt de beoordeling afspraken die verder gaan dan het grootste getal in een kort voorbeeld vinden.

Gebruik de tests van je project om voorgestelde uitvoer met expliciete testgegevens te vergelijken. Controleer naast waarden ook het aantal resultaten en de uitlijning, inclusief een breedte van één en een breedte gelijk aan de invoerlengte. Als de wijziging bedoeld is om de efficiëntie te verbeteren, meet die dan met je eigen werklast in plaats van uit een andere implementatie een snelheidsgarantie af te leiden.

Verbind een ondersteund OpenAI-compatibel of Anthropic-endpoint om het model voor WindowRidge te kiezen. Via die aanbieder is mogelijk een onbeperkt AI-model beschikbaar, waar nodig met toegangsgegevens. Modelgedrag, contextcapaciteit en toolondersteuning hangen af van de daadwerkelijke verbinding; het accepteren van een berekeningswijziging vereist nog steeds jouw beoordeling en verificatie.

Een patch voor vensterberekeningen plannen

Waarom naast de routine ook de afnemer van de uitvoer tonen?

Een afnemer kan elke waarde aan een specifieke invoerpositie koppelen. Een wijziging kan maxima behouden terwijl die koppeling verschuift. Voeg de aanroepende code toe en definieer welk venster elke uitvoer vertegenwoordigt, zodat de beoordeling zowel uitlijning als rekenwerk dekt.

Welke breedtegevallen horen in een kleine testset?

Gebruik één, de volledige invoerlengte en een ongeldige breedte, naast het gewone geval dat je toepassing nodig heeft. Geef het afwijzingsbeleid voor ongeldige waarden aan. Verifieer zowel de waarden als het aantal resultaten met je bestaande projectcontroles.

Hoe kan ik een suggestie voor meer efficiëntie beoordelen?

Bevestig eerst gelijkwaardig gedrag met je testgegevens. Meet de kandidaat daarna met representatieve gegevens en je eigen tools. De uitleg van een aanpak door een model is nuttige beoordelingscontext, maar geen bewijs van prestaties in je toepassing.

Hebben herhaalde maxima extra aandacht nodig?

Neem ze op omdat een implementatie naast waarden ook kandidaatposities kan bijhouden. Vraag om uitleg over hoe oude kandidaten het venster verlaten en vergelijk het voorgestelde gedrag met een expliciete verwachte reeks voordat je de patch accepteert.

Download voor Windows ↗

WindowRidge · Bijgewerkt 2026-10-25