Here's what I came up with, a pretty functional approach:

(fn [l]
  (let [lt        (partial apply <)
        pairs     (->> (map vector l (rest l))
                       (partition-by lt)
                       (filter (comp lt first)))
        max-count (apply max 0 (map count pairs))]
    (->> pairs
         (filter (comp (partial = max-count) count))
         (first)
         (#(if %
             (conj (vec (map first %)) (last (last %)))
             [])))))

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to