Мінімальні покривні підрядки
Знайдіть найкоротший підрядок з усіма потрібними кількостями символів у двох рядках до 1024 кодових точок.
from collections import Counter
def covering_window(text, required):
if type(text) is not str or type(required) is not str or max(len(text), len(required)) > 1024:
raise ValueError("window.input")
if not required:
return ""
need, missing, left, best = Counter(required), len(required), 0, None
for right, char in enumerate(text, 1):
if need[char] > 0:
missing -= 1
need[char] -= 1
while missing == 0:
if best is None or right-left < best[1]-best[0]:
best = (left, right)
old = text[left]
need[old] += 1
if need[old] > 0:
missing += 1
left += 1
return "" if best is None else text[best[0]:best[1]]- Моделі
- Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
- Проєкт
- Перевірте порожні вимоги та відсутність результату, обирайте найлівіший варіант без нормалізації Unicode.
- Перевірте перед застосуванням
- Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
from collections import Counter
def covering_window(text, required):
if type(text) is not str or type(required) is not str or max(len(text), len(required)) > 1024:
raise ValueError("window.input")
if not required:
return ""
need, missing, left, best = Counter(required), len(required), 0, None
for right, char in enumerate(text, 1):
if need[char] > 0:
missing -= 1
need[char] -= 1
while missing == 0:
if best is None or right-left < best[1]-best[0]:
best = (left, right)
old = text[left]
need[old] += 1
if need[old] > 0:
missing += 1
left += 1
return "" if best is None else text[best[0]:best[1]]Опишіть правило вибору, якого має дотримуватися текстова функція
Текстову функцію легше змінювати, коли бажаний результат сформульовано точно. NeedleThyme надає робоче середовище програмування з ШІ у Windows для розробки цих вимог поряд із файлами проєкту. Опишіть вхід, вміст, який має містити повернутий фрагмент, і спосіб його використання застосунком. Попросіть підключеного асистента перевірити поточний код вибору перед пропозицією іншого правила.
Приклад покривного вікна пропонує конкретне завдання: знайти короткий фрагмент, що містить потрібні символи, включно з повторюваними вимогами. Можна попросити перевірити, як код виклику відрізняє відсутній результат від коректного порожнього та як обробляє рівноцінні варіанти. Пов’язуйте ці рішення з функцією, яку створюєте. Сама компактність реалізації не підтверджує, що видимий результат має задуманий зміст.
Підключіть доступну модель ШІ без цензури через підтримувану сумісну з OpenAI або Anthropic кінцеву точку, надавши облікові дані за потреби. Межі контексту, інструменти й обмеження залежать від вибраної моделі та сервера. Перевірте запропоновані правки й протестуйте характерні фрагменти через функцію, що їх викликає. Окремо запущений локальний сервер моделі визначає підключення для її виконання, але не робить усі підключені інструменти чи сервіси локальними.
Питання про повернутий текстовий фрагмент
Як описувати повторювані потрібні символи?
Зазначте, чи має бути представлено кожне входження, чи достатньо лише наявності. Надайте короткий приклад, який розрізняє ці правила. Тоді асистент зможе перевірити поточний код щодо задуманої поведінки, а не вгадувати її з назви функції.
Що робити, якщо підходять кілька найкоротших фрагментів?
Виберіть правило розв’язання рівності, якщо застосунку потрібен стабільний результат, і перевірте, чи реалізація його дотримується. Додайте рівноцінні приклади до тестів проєкту. Результат може відповідати вимозі довжини й водночас непередбачувано змінюватися з погляду користувача.
Навіщо відрізняти відсутність збігу від порожньої вимоги?
Ці випадки можуть вимагати різних повідомлень інтерфейсу або подальших дій. Укажіть подання, якого очікує кожен код виклику, і перевірте його використання. Не змінюйте домовленість повернення функції без перевірки компонента, що трактує повернуте значення.
Чи створить NeedleThyme повний інтерфейс текстового пошуку?
Можна використовувати середовище для розробки потрібного коду проєкту, але приклад установлює лише одне завдання вибору. Опишіть додаткову поведінку інтерфейсу окремо, перевірте запропоновані файли та протестуйте інтегровану функцію у власному середовищі застосунку.
NeedleThyme · Оновлено 2026-10-25