gpt4 book ai didi

clojure - 如何使用 clojure 查找列表中多次出现的数字

转载 作者:行者123 更新时间:2023-12-05 04:11:55 24 4
gpt4 key购买 nike

我有一个数字列表 2 4 3 7 4 9 8 5 12 24 8。

我需要找到在 Clojure 中重复多次的数字。

我已经使用frequencies 函数来查找。但是结果是

{2 1,4 2,3 1,7 1,9 1,8 2,5 1,12 1,24 1}

我最初想将它们视为键值,然后取每个键值一次,看看 val 是否 > 1。如果值大于 1,则我需要加 1。

但我无法解决这个问题。

谁能帮帮我??

无论如何我可以把它变成[[2 1][4 2][3 1][7 1][9 1][8 2][5 1][12 1][24 1 ]] 并递归地考虑每个向量或您能想到的任何更好的想法。

谢谢。

最佳答案

下面的函数将继续你卡住的地方:

(defn find-duplicates [numbers]
(->> numbers
(frequencies)
(filter (fn [[k v]] (> v 1)))
(keys)))

它将过滤值大于 1 的映射条目,然后提取它们的键。

(find-duplicates [2 4 3 7 4 9 8 5 12 24 8])
;; => (4 8)

关于clojure - 如何使用 clojure 查找列表中多次出现的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41682496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com