ocaml: phase 5.1 min_jumps.ml baseline (greedy BFS-like min jumps = 4)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
Greedy BFS-frontier style — track the farthest reach within the
current jump's reachable range, and bump the jump counter when i
runs into the current frontier:
while !i < n - 1 do
farthest := max(farthest, i + arr.(i));
if !i = !cur_end then begin
jumps := !jumps + 1;
cur_end := !farthest
end;
i := !i + 1
done
For [2; 3; 1; 1; 2; 4; 2; 0; 1; 1] (n = 10), the optimal jump
sequence 0 -> 1 -> 4 -> 5 -> 9 uses 4 jumps.
Tests greedy-with-frontier pattern, three parallel refs
(jumps, cur_end, farthest), mixed for-style index loop using ref.
201 baseline programs total.
This commit is contained in:
@@ -407,6 +407,14 @@ _Newest first._
|
||||
binary search tree (`type 'a tree = Leaf | Node of 'a * 'a tree *
|
||||
'a tree`) with insert + in-order traversal. Tests parametric ADT,
|
||||
recursive match, List.append, List.fold_left.
|
||||
- 2026-05-11 Phase 5.1 — min_jumps.ml baseline (greedy BFS-like
|
||||
min jumps to reach end of [2;3;1;1;2;4;2;0;1;1] = 4). At each
|
||||
position track the farthest reach within the current "BFS
|
||||
layer"; when i reaches the layer end, bump jumps and extend to
|
||||
farthest. Optimal jump sequence 0→1→4→5→9 = 4 jumps. Tests
|
||||
greedy-with-frontier idiom, three parallel refs (jumps, cur_end,
|
||||
farthest), mixed for-style index loop using ref. 201 baseline
|
||||
programs total.
|
||||
- 2026-05-11 Phase 5.1 — combinations.ml baseline (C(9, 4) = 126
|
||||
enumerated). Pascal-style recursive split: with first element h,
|
||||
combinations either include h (recurse with k−1 on rest) or
|
||||
|
||||
Reference in New Issue
Block a user