gpt4 book ai didi

序言:列表中的最大重复元素

转载 作者:行者123 更新时间:2023-12-02 22:21:26 31 4
gpt4 key购买 nike

关于如何检索列表中重复次数最多的元素的任何想法。

即如下所示,

?- maxRepeated([1,2,7,3,6,1,2,2,3],M).
M = 2.

最佳答案

我非常喜欢 Prolog 的关系功能:

maxRepeated(L, M) :-
sort(L, S),
maplist(count(L), S, C),
keysort(C, [_-M|_Ms]).
count(L, S, I-S) :-
aggregate(count, member(S, L), C), I is -C.

测试:

?- maxRepeated([1,2,7,3,6,1,2,2,3],M).
M = 2.

编辑,现在更紧凑了!

maxRepeated(L, M) :-
setof(I-E, C^(aggregate(count, member(E, L), C), I is -C), [_-M|_]).

关于序言:列表中的最大重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13673623/

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