ocaml: phase 5.1 run_decode.ml baseline (RLE decode, expansion sum = 21)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
Inverse of run_length.ml from iteration 130. Takes a list of
(value, count) tuples and expands:
let rec rle_decode pairs =
match pairs with
| [] -> []
| (x, n) :: rest ->
let rec rep k = if k = 0 then [] else x :: rep (k - 1) in
rep n @ rle_decode rest
rle_decode [(1,3); (2,2); (3,4); (1,2)]
= [1;1;1; 2;2; 3;3;3;3; 1;1]
sum = 3 + 4 + 12 + 2 = 21.
Tests tuple-cons pattern, inner-let recursion, list concat (@), and
the 'List.fold_left (+) 0' invariant on encoding round-trips.
81 baseline programs total.
This commit is contained in:
@@ -66,6 +66,7 @@
|
||||
"quicksort.ml": 44,
|
||||
"roman.ml": 44,
|
||||
"rpn.ml": 9,
|
||||
"run_decode.ml": 21,
|
||||
"run_length.ml": 11,
|
||||
"safe_div.ml": 20,
|
||||
"shuffle.ml": 55,
|
||||
|
||||
Reference in New Issue
Block a user