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,
|
"histogram_area.ml": 10,
|
||||||
"huffman.ml": 224,
|
"huffman.ml": 224,
|
||||||
"int_sqrt.ml": 1027,
|
"int_sqrt.ml": 1027,
|
||||||
|
"interval_overlap.ml": 6,
|
||||||
"is_prime.ml": 25,
|
"is_prime.ml": 25,
|
||||||
"island_count.ml": 5,
|
"island_count.ml": 5,
|
||||||
"fizz_classifier.ml": 540,
|
"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 *
|
binary search tree (`type 'a tree = Leaf | Node of 'a * 'a tree *
|
||||||
'a tree`) with insert + in-order traversal. Tests parametric ADT,
|
'a tree`) with insert + in-order traversal. Tests parametric ADT,
|
||||||
recursive match, List.append, List.fold_left.
|
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
|
- 2026-05-11 Phase 5.1 — count_palindromes.ml baseline (count
|
||||||
palindromic substrings of "aabaa" = 9). Expand-around-center
|
palindromic substrings of "aabaa" = 9). Expand-around-center
|
||||||
with 2n−1 centers (n odd-length, n−1 even-length); for each,
|
with 2n−1 centers (n odd-length, n−1 even-length); for each,
|
||||||
|
|||||||
Reference in New Issue
Block a user