WWindowRidge
AIコーディングワークスペース

スライディングウィンドウの最大値

固定幅の完全な数値ウィンドウごとに最大値を求めてください。

● ● ●WindowRidge●
ワークフロー · スライディングウィンドウの最大値 ×
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
✳固定幅の完全な数値ウィンドウごとに最大値を求めてください。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
適用前に確認実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
モデルOpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
プロジェクト重複最大値、負数、幅の境界を確認し、非有限値や入力長の範囲外の幅を拒否してください。
ワークフロー

スライディングウィンドウの最大値

ワークフロー ↗
ワークフロー
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コーディングワークスペース

計算の変更をその出力と結び付ける

WindowRidgeは、変更を利用するプロジェクトの文脈で検討するWindows用AIコーディング環境です。アプリケーションが期待する出力から始め、それを生成するソースを特定します。代替案を提案する前に現在の処理経路を調べるよう接続したモデルに依頼し、実装の詳細を目に見える要件と結び付けます。

固定幅のウィンドウごとの最大値計算は有用なタスクです。各結果が完全な一つのウィンドウに対応することを指定し、結果を入力位置に対応付ける呼び出し元を含めます。編集を求める前に、最大値の重複、負の値、有効な幅の境界を検討します。これにより、短いサンプルから最大数を得る以上の仕様をレビューに与えられます。

プロジェクトのテストで、出力案を明示的なテストデータと比較します。幅が1の場合と入力長と同じ場合を含め、値に加えて結果数と対応関係も確認します。効率改善を目的とする変更なら、実装が異なることから速度保証を推測せず、自分の処理負荷で測定してください。

WindowRidgeで使うモデルを選ぶには、対応するOpenAI互換またはAnthropicのエンドポイントに接続します。そのプロバイダーから制約のないAIモデルを利用できる場合があり、必要なら認証情報を設定します。モデルの動作、コンテキスト容量、ツール対応は実際の接続に依存し、計算の変更を採用するには利用者によるレビューと検証が必要です。

ウィンドウごとの計算の修正を計画する

処理だけでなく出力の利用側も示すのはなぜですか?

利用側が各値を特定の入力位置に対応付けている場合があります。最大値を維持する編集でも、その対応をずらすことがあります。呼び出し元を含め、各出力が表すウィンドウを定義し、計算だけでなく対応関係もレビューしてください。

少数のテストデータにどの幅を含めますか?

アプリケーションに必要な通常ケースに加え、1、入力全体の長さ、不正な幅を使います。不正な値の拒否方針を示し、既存のプロジェクトの検証で値と結果数の両方を確認してください。

効率に関する提案をどう評価しますか?

まずテストデータで同じ動作を確認し、次に代表的なデータと自分のツールで候補を測定します。モデルによる手法の説明は有用なレビュー情報ですが、アプリケーションでの性能の証拠ではありません。

最大値の重複には特別な注意が必要ですか?

値に加え候補位置も追跡する実装があるので、重複を含めます。古い候補がウィンドウからどう外れるか説明を求め、修正を採用する前に、明示した期待列と動作案を比較してください。

Windows版をダウンロード ↗

WindowRidge · 更新日 2026-10-25