Максимумы скользящего окна
Следующее окно использует большую часть предыдущего. WindowRidge связывает скользящий расчёт, граничные примеры и проверяемую реализацию в Windows-клиенте для работы с кодом.
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| Проверьте перед применением | Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями. |
|---|---|
| Подключение | Базовый URL, учётные данные и доступный сервер. |
| Проект | Проверьте повторные максимумы, отрицательные значения и границы ширины, отклоняя неконечные значения и ширину вне длины входа. |
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Сохраняйте связь изменения вычисления с его выводом
WindowRidge — среда программирования с ИИ для Windows для обсуждения изменений в контексте использующего их проекта. Начните с ожидаемого вывода приложения и определите исходник, который его формирует. Попросите подключённую модель изучить текущий путь до предложения замены, чтобы детали реализации оставались связанными с видимым требованием.
Вычисление максимума в окне фиксированной ширины — одна из полезных задач. Укажите, что каждый результат соответствует полному окну, и включите вызывающий код, связывающий результаты с входными позициями. Обсудите повторяющиеся максимумы, отрицательные значения и границы допустимой ширины до запроса правки. Это даёт проверке контракт, выходящий за рамки поиска наибольшего числа в коротком примере.
Тестами проекта сравните предлагаемый вывод с явными примерами. Проверяйте число результатов и соответствие позициям наряду со значениями, включая ширину один и ширину, равную длине входа. Если цель — эффективность, измеряйте её на собственной нагрузке, не выводя гарантию скорости из другой реализации.
Подключите поддерживаемую конечную точку, совместимую с OpenAI, или конечную точку Anthropic для выбора модели WindowRidge. Провайдер может предоставлять модель ИИ без ограничений с учётными данными при необходимости. Поведение модели, размер контекста и поддержка инструментов зависят от реального подключения; принятие изменения вычисления всё равно требует вашей проверки и подтверждения.
Планирование правки оконного вычисления
- Зачем показывать потребителя вывода вместе с функцией?
Потребитель может связывать каждое значение с конкретной входной позицией. Правка может сохранить максимумы, но сдвинуть эту связь. Включите вызывающий код и определите окно каждого результата, чтобы проверять соответствие позициям наряду с арифметикой.
- Какие ширины включить в небольшой набор примеров?
Используйте единицу, полную длину входа и недопустимую ширину вместе с обычным нужным приложению случаем. Укажите правило отклонения неверных значений. Проверьте значения и число результатов существующими проверками проекта.
- Как оценить предложение по эффективности?
Сначала подтвердите эквивалентное поведение на примерах. Затем измерьте вариант на характерных данных собственными инструментами. Объяснение подхода моделью полезно для проверки, но не доказывает производительность в приложении.
- Нуждаются ли повторяющиеся максимумы в особом внимании?
Включите их, поскольку реализация может отслеживать позиции кандидатов вместе со значениями. Запросите объяснение выхода старых кандидатов из окна, затем сравните поведение с явной ожидаемой последовательностью до принятия правки.
WindowRidge · Обновлено 2026-10-25