RLE jest prostą metodą kodowania ciągów znaków. Każdy maksymalny podciąg (w sensie substring) tekstu wejściowego złożony wyłącznie z k znaków c jest kodowany jako "kc". np. "AAAABBBCCDAA" zakodowany RLE to "4A3B2C1D2A"
Zaimplementuj kodowanie i dekodowanie RLE. Możesz założyć, że napis do zakodowania będzie złożony wyłącznie z małych i dużych liter alfabetu. Możesz też założyć, że napis do zdekodowania jest poprawnym kodowaniem RLE.
@glonstar: dostosowują poziom do tego co dostają ( ͡°͜ʖ͡°) zadanie może nie jest trudne ale pokazuje jaki kod piszesz, jak chcesz sobie urozmaicić to napisz to w lispie albo haskellu
@Wyrewolwerowanyrewolwer: Ale co miałeś jakieś ciekawe ograniczenia? Bo nie da się szybciej niż n lg n przez porównywanie elementów i szybciej niż O(n) jak masz ograniczenie na wielkość przez zliczanie
@Wyrewolwerowanyrewolwer: Haha tajny algorytm służb specjalnych ( ͡°͜ʖ͡°) Nawet sprawdzenie czy tablica jest posortowana zajmuje O(n) więc muszą być ograniczenia lub nawet to nie chodzi o tablice. Co to znaczy delikatnie pomylić? można odpalić shell sorta dla paru gapów ale to nie zmniejszy złożoności o cały rząd.
Jeśli dodam do obserwowanych @Bog_Wszechmogacy to można to zaliczyć do czczenia? Bo jednak jestem innowiercą a nie chcę mieć przypału u swoich bogów ( ͡°͜ʖ͡°)
źródło: comment_B7dp0SD6B6ph4ffrDkgIUA0gg1d0fs7G.jpg
Pobierz