Я пытаюсь найти противоположность числа в списке списка. Я хочу перебрать каждый элемент списка списка и проверить, находится ли противоположность этого элемента в списке списка.
Это то, что я сделал до сих пор:
let rec findOpposite l =
match l with
| [] -> false
| f::x::ll -> if (List.mem (-x) f = false && List.mem (-x) ll = false) then true else findOpposite ll;;
Я наивно полагал, что 'f' представляет все предыдущие элементы списка ...
Я также исследовал это решение: сгладить список, чтобы сделать его немного более простым. Но теперь я немного растерялся.
Здесь ожидается перебрать каждый элемент списка, проверить, есть ли его противоположность, если так -> true, иначе продолжить, пока мы не достигнем конца.
Спасибо.