CCodelith
Pracovní postupy

Pracovní postupy s kódem · Kanonické přiřazení prefixových kódů

03
Produkt

Pracovní postupy

Přiřaď kanonické binární prefixové kódy nejvýše 256 symbolům s délkami 1 až 16. Ověř prázdné a neúplné tabulky, shodné délky seřaď podle původních řetězců Unicode a odmítni přeplněné či neplatné délky bez normalizace.

01

Stáhněte aplikaci

Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.

02

Otevřete složku projektu

Zvolte kompatibilní endpoint. Dostupné nástroje a kvalita odpovědí závisí na nastaveném modelu a serveru.

03

Připojte a otestujte model

Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.

04

Zkontrolujte změny a spusťte testy

Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.

Kanonické přiřazení prefixových kódů

Pracovní postupy
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

Před použitím zkontrolujte. Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.

Pracovní prostředí s AI pro kód

Váš další nápad začíná zde.

Stáhnout pro Windows ↗