EEndCadence
Робоче середовище з ШІ для коду

Вибір інтервалів за раннім завершенням

Виберіть найбільшу неперекривну підмножину до 64 напіввідкритих інтервалів із цілими межами в ±10^9.

● ● ●EndCadence●
Сценарії · Вибір інтервалів за раннім завершенням ×
def interval_selection(intervals):
    if type(intervals) is not list or len(intervals) > 64:
        raise ValueError("schedule.input")
    ordered = []
    for index, pair in enumerate(intervals):
        if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int or abs(x) > 10**9 for x in pair):
            raise ValueError("schedule.pair")
        start, end = pair
        if start >= end:
            raise ValueError("schedule.interval")
        ordered.append((end, start, index))
    selected, last = [], None
    for end, start, index in sorted(ordered):
        if last is None or start >= last:
            selected.append(index)
            last = end
    return selected
✳Вибір інтервалів за раннім завершенням
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
01

Моделі

Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

02

Проєкт

Перевірте дотик і однакові закінчення, відхиліть нульову довжину й поверніть початкові індекси без зміни вводу.

03

Перевірте перед застосуванням

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

Сценарії

Вибір інтервалів за раннім завершенням

Сценарії ↗
Сценарії
def interval_selection(intervals):
    if type(intervals) is not list or len(intervals) > 64:
        raise ValueError("schedule.input")
    ordered = []
    for index, pair in enumerate(intervals):
        if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int or abs(x) > 10**9 for x in pair):
            raise ValueError("schedule.pair")
        start, end = pair
        if start >= end:
            raise ValueError("schedule.interval")
        ordered.append((end, start, index))
    selected, last = [], None
    for end, start, index in sorted(ordered):
        if last is None or start >= last:
            selected.append(index)
            last = end
    return selected
Робоче середовище з ШІ для коду

Зберігайте відповідність коду планування його цільовій функції

Процедура планування може повертати допустиму сукупність інтервалів, але оптимізувати не те, що потрібно. EndCadence — робоче середовище програмування з ШІ для Windows для дослідження цієї відмінності у проєкті. Додайте до розмови код вибору та його місце виклику, а потім поясніть, що програма прагне максимізувати, до запиту змін.

Корисне завдання — перевірка вибору за найранішим завершенням для найбільшої кількості неперетинних інтервалів. Покажіть підключеній моделі малий розклад із дотичними кінцями та вкажіть напіввідкриту домовленість. Попросіть простежити вибрані інтервали й зберегти їхні початкові ідентифікатори, щоб код виклику пов’язав результат із поданими елементами.

Перевірте обробку пропозицією недопустимих діапазонів і однакових моментів завершення. Відокремте ціль від інших завдань планування: максимізація кількості не підтверджує максимальної цінності або задоволення пріоритетів. Запустіть перевірки проєкту на незалежно вибраних розкладах, зокрема порожніх даних і дотичних інтервалах, а потім дослідіть показ або подальшу обробку вибраних ідентифікаторів.

EndCadence підключається до підтримуваних кінцевих точок, сумісних з OpenAI, або Anthropic. Доступна аблітерована модель ШІ може допомагати перевіряти реалізацію з урахуванням поведінки моделі та можливостей сервера. Зберігайте очікувану мету й правила кінців у запиті, щоб оцінювати зміни за чимось точнішим, ніж правдоподібний розклад.

Відповідність коду планування його меті — питання перед редагуванням

Яку мету планування слід указати першою?

Поясніть, чи потрібна найбільша кількість сумісних інтервалів, чи інша мета, наприклад сумарна цінність. Ці цілі не взаємозамінні. Наведене завдання найранішого завершення стосується кількості за конкретним контрактом неперетину.

Чи можуть два інтервали зустрічатися в одній кінцевій точці?

Визначте домовленість. За напіввідкритим тлумаченням цього прикладу один інтервал може починатися, коли інший закінчується. Додайте саме цей випадок до тесту, щоб запропоноване порівняння випадково не відхиляло сумісні елементи.

Навіщо зберігати початкові ідентифікатори після сортування?

Коду виклику потрібно пов’язати вибраний розклад із поданими записами. Перевірте, чи функція повертає початкові позиції або інший сталий ідентифікатор. Сортування для вибору не повинно непомітно змінювати зміст цих посилань.

Що робити з недопустимими діапазонами під час вибору?

Визначте відхилення неправильних інтервалів, зокрема початку, що не передує кінцю, й дослідіть реакцію коду виклику. Мовчазне відкидання може приховувати проблеми даних. Тестуйте шлях помилки разом із допустимим розкладом.

Завантажити для Windows ↗

EndCadence · Оновлено 2026-10-25