CCodelith
Sposoby pracy

Praca z kodem · Kanoniczny przydział kodów prefiksowych

03
Produkt

Sposoby pracy

Przydziel kanoniczne binarne kody prefiksowe maksymalnie 256 symbolom o długościach od 1 do 16. Sprawdź puste i niepełne tabele, uporządkuj remisy według oryginalnych ciągów Unicode i odrzuć przepełnione lub błędne długości bez normalizacji.

01

Pobierz aplikację

Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.

02

Otwórz folder projektu

Wybierz zgodny endpoint. Dostępne narzędzia i jakość odpowiedzi zależą od skonfigurowanego modelu i serwera.

03

Podłącz i sprawdź model

Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.

04

Przejrzyj zmiany i uruchom testy

Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.

Kanoniczny przydział kodów prefiksowych

Sposoby pracy
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

Sprawdź przed zastosowaniem. Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.

Środowisko programowania z AI

Tutaj zaczyna się kolejny pomysł.

Pobierz dla Windows ↗