Удалить подмножество в список списков, например: данный ls
имеет тип int list list
, результат ls
является result
функция: int list list -> int list list
Удалить подмножество в множестве
ls: [[1;2;3;4];[1;2];[1;2;3];[0]]
результат ls
является: [[1;2;3;4];[0]]
у меня есть:
module Int_set = Set.Make (struct
type t = int
let compare = compare
end)
let set_of_list = List.fold_left (fun acc x ->
Int_set.add x acc) Int_set.empty
let result ls =
match ls with
| [] -> print_string "nothing\n"
| l1 :: ls' ->
List.iter
(fun l2 ->
let s1 = set_of_list l1 in
let s2 = set_of_list l2 in
if Int_set.subset s1 s2
then
(*remove s1*)
.....
) ls'
Не могли бы вы помочь мне фигуру как написать функцию удаления?
Я хочу, чтобы удалить все подмножества внутри набора. Разве это не ясно? – Quyen
Рекурсивно? Независимо от порядка появления в списке? – PatJ
Я решил проблему. Извините, что вы смутили. – Quyen