WWindowRidge
Ambiente di sviluppo con IA

Massimi delle finestre scorrevoli

Trova il massimo di ogni finestra numerica completa a larghezza fissa.

● ● ●WindowRidge●
Flussi di lavoro · Massimi delle finestre scorrevoli ×
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
✳Trova il massimo di ogni finestra numerica completa a larghezza fissa.
✓ ModificheControlla prima di applicare ↗
Illustrazione dell’ambiente
Controlla prima di applicareConfronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
ModelliConfigura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
ProgettoControlla massimi ripetuti, valori negativi e limiti della larghezza, rifiutando valori non finiti e larghezze esterne alla lunghezza dell’input.
Flussi di lavoro

Massimi delle finestre scorrevoli

Flussi di lavoro ↗
Flussi di lavoro
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
Ambiente di sviluppo con IA

Mantieni una modifica al calcolo collegata al suo output

WindowRidge è un ambiente di programmazione con IA per Windows per discutere modifiche nel contesto del progetto che le utilizzerà. Parti dall'output atteso dall'applicazione e identifica il sorgente che lo produce. Chiedi al modello collegato di esaminare il percorso attuale prima di proporre una sostituzione, così che i dettagli implementativi restino legati a un requisito visibile.

Un calcolo dei massimi su finestre di ampiezza fissa è un'attività utile. Specifica che ogni risultato corrisponde a una finestra completa e includi il chiamante che associa i risultati alle posizioni di input. Discuti massimi ripetuti, valori negativi e limiti validi dell'ampiezza prima di chiedere una modifica. Questo dà alla revisione un contratto che va oltre l'ottenere il numero più grande in un breve esempio.

Usa i test del progetto per confrontare l'output proposto con casi di prova espliciti. Controlla numero e allineamento dei risultati oltre ai valori, includendo un'ampiezza di uno e un'ampiezza pari alla lunghezza dell'input. Se la modifica mira a migliorare l'efficienza, misurala sul tuo carico di lavoro invece di dedurre una garanzia di velocità da un'implementazione diversa.

Collega un endpoint supportato compatibile con OpenAI o Anthropic per scegliere il modello per WindowRidge. Un modello di IA senza restrizioni potrebbe essere disponibile presso quel fornitore, con credenziali quando richieste. Comportamento del modello, capacità di contesto e supporto degli strumenti dipendono dal collegamento effettivo; accettare una modifica al calcolo richiede comunque la tua revisione e verifica.

Pianificare una modifica ai calcoli a finestra

Perché mostrare chi utilizza l'output oltre alla procedura?

Il codice utilizzatore può associare ogni valore a una particolare posizione di input. Una modifica può conservare i massimi spostando però tale associazione. Includi il chiamante e definisci quale finestra rappresenta ogni output, così che la revisione copra sia l'allineamento sia l'aritmetica.

Quali ampiezze includere in un piccolo insieme di casi di prova?

Usa uno, l'intera lunghezza dell'input e un'ampiezza non valida, accanto al caso ordinario necessario all'applicazione. Specifica la regola di rifiuto per i valori non validi. Verifica sia i valori sia il numero dei risultati con i controlli esistenti del progetto.

Come posso valutare un suggerimento legato all'efficienza?

Conferma prima l'equivalenza del comportamento sui casi di prova. Poi misura la soluzione candidata con dati rappresentativi e i tuoi strumenti. La spiegazione di un approccio da parte del modello è un contesto utile alla revisione, ma non è una prova delle prestazioni nell'applicazione.

I massimi ripetuti richiedono attenzione particolare?

Includili perché un'implementazione potrebbe tenere traccia delle posizioni candidate oltre che dei valori. Chiedi una spiegazione di come i vecchi candidati escono dalla finestra, poi confronta il comportamento proposto con una sequenza attesa esplicita prima di accettare la modifica.

Scarica per Windows ↗

WindowRidge · Aggiornato 2026-10-25