Wpis z mikrobloga

Zadanie od Amazon:

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.

#dailycodingproblem #programowanie
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
  • Odpowiedz
@Przegrywek123: nie. RLE słabo radzi sobie z rzeczywistymi danymi, przykładowo mając takiego jsona: [{"ala":"ma kota"}, ... 10000 powtórzeń dalej ..., {"ala":"ma kota"}] możemy zauważyć, że plik mocno kompresowalny, natomiast RLE w tym wypadku nic nie robi.
  • Odpowiedz
Nie mogę zbyt wiele powiedzieć.


@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.
  • Odpowiedz
@NotABigFan nie haha tajny algorytm tylko umowa.
Tak, przeiterowanie po tablicy zajmuje n.
Ale to w momencie kiedy masz juz tablice.
A co gdyby po przyjrzeniu się danym okazało się że mają jakiś rozkład albo w pewien charakterystyczny sposób zmieniają swoje wartości?
Albo inaczej - co gdyby dało się określić ze a[i] z jakimś niezerowym prawdopodobieństwem plasuje się w x% największych wartości zbioru?
  • Odpowiedz