KC
Size: a a a
KC
DF
KC
DF
DF
KC
DF
IG
A
(if (empty? tail)Чем он вам не нравится? Как можно избавиться от лишнего дублирования? В обеих случаях вызываем Recur только чуть с другими аргументами
(recur
(call-my-reduce graph peek)
(last (take cycles all))
(drop cycles all)
(+ cycles 1))
(recur
(call-my-reduce graph peek)
(first tail)
(drop 1 tail)
cycles)
)
DL
DL
DL
IG
MD
OR
DL
(let [[t & ts] tail
x (call-my-reduce graph peek)]
(if t
(recur x t ts cycles)
(recur x (last (take cycles all)) (inc cycles))))