Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jneira/983972 to your computer and use it in GitHub Desktop.
Save jneira/983972 to your computer and use it in GitHub Desktop.
;; jneira's solution to Transitive Closure
;; https://4clojure.com/problem/84
(fn [s]
(let [f #(for [[a b] % [c d] %
:when (= c b)] [a d])]
(->> s (iterate #(let [n (into % (f %))]
(when (not= % n) n)))
(take-while identity)
(last))))
;; youz's solution to Transitive Closure
;; https://4clojure.com/problem/84
(fn f [s]
(#(if (= % s) s (f %))
(set (for [[a b] s [c d] s]
[a (if (= b c) d b)]))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment