SSpanKestrel
Рабочая среда с ИИ для кода

Максимальная сумма непрерывного фрагмента

SpanKestrel предназначен для работы с кодом, где важна сумма непрерывного отрезка данных. В Windows-клиенте можно обсудить алгоритм с ИИ и изучить обработку отрицательных значений до принятия правок.

● ● ●SpanKestrel●
Конкретная отправная точка · Максимальная сумма непрерывного фрагмента ×
def maximum_subarray(values):
    if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
        raise ValueError("subarray.input")
    if not values:
        return None
    best = None
    total, start = 0, 0
    for end, value in enumerate(values, 1):
        if total < 0:
            total, start = 0, end - 1
        total += value
        candidate = (total, start, end)
        if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
            best = candidate
    return best
✳Найдите максимальную сумму непрерывного фрагмента до 1000 целых чисел с модулями до миллиарда и верните сумму и полуоткрытые границы.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
Подключение
Базовый URL, учётные данные и доступный сервер.
Проект
Проверьте полностью отрицательные данные и пустой ввод, разрешая равенства по самому раннему началу, затем концу.
Проверьте перед применением
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
Сценарии

Максимальная сумма непрерывного фрагмента

Сценарии ↗
Конкретная отправная точка
def maximum_subarray(values):
    if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
        raise ValueError("subarray.input")
    if not values:
        return None
    best = None
    total, start = 0, 0
    for end, value in enumerate(values, 1):
        if total < 0:
            total, start = 0, end - 1
        total += value
        candidate = (total, start, end)
        if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
            best = candidate
    return best
Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗