gpt4 book ai didi

clojure - 如何使用 Clojure 查找序列中元素最后一次出现的位置?

转载 作者:行者123 更新时间:2023-12-02 10:55:38 24 4
gpt4 key购买 nike

我想找到序列中元素最后一次出现的位置。测试我想出的一些解决方案,

user> (def numbers (repeatedly 100 #(rand-int 100)))
#'user/numbers

user> (time ((zipmap numbers (range)) 22))
"Elapsed time: 0.865193 msecs"
90

user> (time (last (keep-indexed #(if (= 22 %2) %1) numbers)))
"Elapsed time: 1.600483 msecs"
90

有没有更简洁的内置函数可以做到这一点?

最佳答案

将对象转换为正确的类型后,您可以使用 lastIndexOf:

(.lastIndexOf numbers (int 22))

该方法记录在此处:http://docs.oracle.com/javase/6/docs/api/java/util/List.html#lastIndexOf(java.lang.Object)

关于clojure - 如何使用 Clojure 查找序列中元素最后一次出现的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15181302/

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