ocaml: phase 5.1 interval_overlap.ml baseline (7 intervals, 6 overlapping pairs)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
For each (i, j) pair with i < j, test whether intervals (s1, e1)
and (s2, e2) overlap via the standard `s1 <= e2 && s2 <= e1`.
intervals: (1,4) (2,5) (7,9) (3,6) (8,10) (11,12) (0,2)
overlapping pairs:
(1,4) & (2,5) (1,4) & (3,6) (1,4) & (0,2)
(2,5) & (3,6) (2,5) & (0,2)
(7,9) & (8,10)
= 6
Tests double for-loop with both-side tuple destructure via
`let (s1, e1) = arr.(i) in`, conjunctive comparison, list-to-
array conversion.
188 baseline programs total.
This commit is contained in:
@@ -81,6 +81,7 @@
|
||||
"histogram_area.ml": 10,
|
||||
"huffman.ml": 224,
|
||||
"int_sqrt.ml": 1027,
|
||||
"interval_overlap.ml": 6,
|
||||
"is_prime.ml": 25,
|
||||
"island_count.ml": 5,
|
||||
"fizz_classifier.ml": 540,
|
||||
|
||||
16
lib/ocaml/baseline/interval_overlap.ml
Normal file
16
lib/ocaml/baseline/interval_overlap.ml
Normal file
@@ -0,0 +1,16 @@
|
||||
let count_overlaps intervals =
|
||||
let arr = Array.of_list intervals in
|
||||
let n = Array.length arr in
|
||||
let count = ref 0 in
|
||||
for i = 0 to n - 1 do
|
||||
let (s1, e1) = arr.(i) in
|
||||
for j = i + 1 to n - 1 do
|
||||
let (s2, e2) = arr.(j) in
|
||||
if s1 <= e2 && s2 <= e1 then count := !count + 1
|
||||
done
|
||||
done;
|
||||
!count
|
||||
|
||||
;;
|
||||
|
||||
count_overlaps [(1, 4); (2, 5); (7, 9); (3, 6); (8, 10); (11, 12); (0, 2)]
|
||||
@@ -407,6 +407,15 @@ _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 — interval_overlap.ml baseline (count
|
||||
overlapping interval pairs in 7-interval set = 6). For each pair
|
||||
(i, j) test `s1 ≤ e2 && s2 ≤ e1`. Intervals: (1,4) (2,5) (7,9)
|
||||
(3,6) (8,10) (11,12) (0,2). Overlapping pairs:
|
||||
(1,4)&(2,5), (1,4)&(3,6), (1,4)&(0,2),
|
||||
(2,5)&(3,6), (2,5)&(0,2), (7,9)&(8,10)
|
||||
= 6 pairs. Tests double for-loop with both-side tuple destructure
|
||||
via `let (s1, e1) = arr.(i) in`, conjunctive comparison, list-to-
|
||||
array conversion. 188 baseline programs total.
|
||||
- 2026-05-11 Phase 5.1 — count_palindromes.ml baseline (count
|
||||
palindromic substrings of "aabaa" = 9). Expand-around-center
|
||||
with 2n−1 centers (n odd-length, n−1 even-length); for each,
|
||||
|
||||
Reference in New Issue
Block a user