获取列表中某个给定数字的3个最接近的值?

mar*_*hon -3 clojure

给定一个整数列表,找到给定数字的3个最接近的值.

=> (def mylist '(3 6 7 8 9 12 14))
=> (get_closest mylist 10)
(8 9 12)
Run Code Online (Sandbox Code Playgroud)

ako*_*ond 5

(letfn [(closest [a b]
            (take 3 (sort-by #(Math/abs (- % b)) a)))]
    (let [a '(3 6 7 8 9 12 14)]
        (closest a 10)))
Run Code Online (Sandbox Code Playgroud)