CCodelith
Сценарії

Сценарії роботи з кодом · Канонічне призначення префіксних кодів

03
Продукт

Сценарії

Призначте канонічні двійкові префіксні коди не більш як 256 символам із довжинами від 1 до 16. Перевірте порожні й неповні таблиці, сортуйте рівні довжини за вихідними рядками Unicode та відхиляйте надлишкові або хибні довжини без нормалізації.

01

Завантажте застосунок

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

02

Відкрийте папку проєкту

Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.

03

Підключіть і перевірте модель

Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

04

Перегляньте зміни та запустіть тести

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

Канонічне призначення префіксних кодів

Сценарії
def canonical_codes(lengths):
    if type(lengths) is not dict or len(lengths) > 256:
        raise ValueError("codes.input")
    if any(type(s) is not str or not s or type(n) is not int or
           not 1 <= n <= 16 for s,n in lengths.items()):
        raise ValueError("codes.length")
    result, code, previous = {}, 0, 0
    for symbol, length in sorted(lengths.items(), key=lambda p:(p[1],p[0])):
        code <<= length-previous
        if code >= 1 << length:
            raise ValueError("codes.oversubscribed")
        result[symbol] = format(code, f"0{length}b")
        code += 1
        previous = length
    return result

Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

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

Тут починається ваша наступна ідея.

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