giles
17a7a91d73
Test, Build, and Deploy / test-build-deploy (push) Failing after 50s
ocaml: phase 5.1 merge_intervals.ml baseline (LeetCode #56 , total length 9+3 = 12)
...
Sort intervals by start, then sweep maintaining a current (cs, ce)
window — extend ce if next start <= ce, else push current and start
fresh:
let merge_intervals xs =
let sorted = List.sort (fun (a, _) (b, _) -> a - b) xs in
let rec aux acc cur xs =
match xs with
| [] -> List.rev (cur :: acc)
| (s, e) :: rest ->
let (cs, ce) = cur in
if s <= ce then aux acc (cs, max e ce) rest
else aux (cur :: acc) (s, e) rest
in
match sorted with
| [] -> []
| h :: rest -> aux [] h rest
[(1,3);(2,6);(8,10);(15,18);(5,9)]
-> [(1,10); (15,18)]
total length = 9 + 3 = 12
Tests List.sort with custom comparator using tuple patterns, plus
tuple destructuring in lambda + let-tuple from accumulator + match
arms.
92 baseline programs total.
2026-05-09 18:39:46 +00:00
..
2026-05-09 08:50:12 +00:00
2026-05-09 12:14:32 +00:00
2026-05-08 19:57:09 +00:00
2026-05-09 12:34:36 +00:00
2026-05-09 06:15:03 +00:00
2026-05-09 06:59:22 +00:00
2026-05-09 12:52:55 +00:00
2026-05-09 12:24:48 +00:00
2026-05-08 21:05:32 +00:00
2026-05-09 11:19:23 +00:00
2026-05-09 13:02:17 +00:00
2026-05-09 09:15:00 +00:00
2026-05-09 02:24:45 +00:00
2026-05-09 10:40:49 +00:00
2026-05-08 17:52:49 +00:00
2026-05-09 00:13:11 +00:00
2026-05-08 16:53:44 +00:00
2026-05-08 13:44:28 +00:00
2026-05-09 10:21:11 +00:00
2026-05-09 16:28:15 +00:00
2026-05-09 01:47:27 +00:00
2026-05-08 13:44:28 +00:00
2026-05-09 12:04:42 +00:00
2026-05-09 18:39:46 +00:00
2026-05-08 15:01:04 +00:00
2026-05-09 11:09:23 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 17:36:24 +00:00
2026-05-09 15:53:47 +00:00
2026-05-08 17:44:07 +00:00
2026-05-09 11:52:19 +00:00
2026-05-09 06:05:31 +00:00
2026-05-09 01:11:53 +00:00
2026-05-09 11:42:52 +00:00
2026-05-09 09:34:40 +00:00
2026-05-09 17:45:52 +00:00
2026-05-09 14:40:22 +00:00
2026-05-09 13:30:46 +00:00
2026-05-09 18:27:50 +00:00
2026-05-09 08:21:19 +00:00
2026-05-09 15:02:13 +00:00
2026-05-09 17:55:07 +00:00
2026-05-09 07:41:01 +00:00
2026-05-09 10:07:12 +00:00
2026-05-08 19:49:08 +00:00
2026-05-09 00:23:58 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 15:42:01 +00:00
2026-05-09 11:00:00 +00:00
2026-05-09 15:22:28 +00:00
2026-05-08 19:10:49 +00:00
2026-05-09 18:39:46 +00:00
2026-05-09 05:00:50 +00:00
2026-05-09 17:24:53 +00:00
2026-05-09 15:11:46 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 14:52:13 +00:00
2026-05-08 18:43:19 +00:00
2026-05-09 08:29:01 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 10:31:22 +00:00
2026-05-09 16:03:22 +00:00
2026-05-09 16:13:05 +00:00
2026-05-09 09:57:18 +00:00
2026-05-09 16:38:09 +00:00
2026-05-09 07:19:52 +00:00
2026-05-08 20:49:26 +00:00
2026-05-09 17:15:47 +00:00
2026-05-09 14:21:24 +00:00
2026-05-09 09:24:41 +00:00
2026-05-09 12:44:02 +00:00
2026-05-08 19:04:04 +00:00
2026-05-08 13:44:28 +00:00
2026-05-08 23:40:36 +00:00
2026-05-09 08:39:56 +00:00
2026-05-09 16:47:56 +00:00
2026-05-09 09:47:25 +00:00
2026-05-09 00:13:11 +00:00
2026-05-09 06:47:47 +00:00
2026-05-09 07:31:33 +00:00
2026-05-09 02:16:18 +00:00
2026-05-09 18:09:33 +00:00
2026-05-09 16:56:46 +00:00
2026-05-09 13:46:40 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 14:00:49 +00:00
2026-05-09 17:06:10 +00:00
2026-05-09 15:32:11 +00:00
2026-05-09 13:15:05 +00:00
2026-05-09 05:44:35 +00:00
2026-05-09 08:11:07 +00:00
2026-05-08 16:11:03 +00:00
2026-05-09 08:01:21 +00:00
2026-05-09 18:19:02 +00:00
2026-05-09 14:30:55 +00:00
2026-05-09 11:33:30 +00:00