Dart如何在列表中获得最大重复元素数

Dart如何在列表中获得最大重复元素数,dart,Dart,我有List List=[1,2,3,4,4,9,6,7,7,8,8,8,8,8] 我如何将8作为最大重复值返回类似这样的值 void main() { final list = [1, 2, 3, 4, 4, 4, 9, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8]; print(findMaxDuplicatedElementInList(list)); // 8 } T findMaxDuplicatedElementInList<T>(Itera

我有
List List=[1,2,3,4,4,9,6,7,7,8,8,8,8,8]

我如何将8作为最大重复值返回

类似这样的值

void main() {
  final list = [1, 2, 3, 4, 4, 4, 9, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8];
  print(findMaxDuplicatedElementInList(list)); // 8
}

T findMaxDuplicatedElementInList<T>(Iterable<T> list) => list
    .fold<Map<T, int>>(
        {},
        (map, element) =>
            map..update(element, (value) => value + 1, ifAbsent: () => 1))
    .entries
    .reduce((e1, e2) => e1.value > e2.value ? e1 : e2)
    .key;
void main(){
最终列表=[1,2,3,4,4,9,6,7,7,7,8,8,8,8,8];
打印(findMaxDuplicatedElementInList(list));//8
}
T findMaxDuplicatedElementInList(可编辑列表)=>list
.折叠(
{},
(地图,元素)=>
映射..更新(元素,(值)=>value+1,如果存在:()=>1))
.参赛作品
.减少((e1,e2)=>e1.value>e2.value?e1:e2)
钥匙

我会尽可能直截了当地写出来:

假设相等的元素总是相邻的,并且列表不能为空,如果有多个元素,则返回具有最大计数的任意元素:

T maxDuplicated(列表元素){
var element=elements.count;
var计数=1;
var maxElement=元素;
var maxCount=计数;
对于(变量i=1;i最大计数){
maxElement=元素;
最大计数=计数;
}
}
}
返回最大元素;
}
假设元素是随机排列的,所以我们需要记住我们看到的每一个元素, 仍然不允许将空列表作为输入:

T maxDuplicated(列表元素){
var maxCount=1;
var maxElement=elements.first
var seen={maxElement:maxCount};
对于(变量i=1;i最大计数){
最大计数=计数;
maxElement=元素;
}
}
返回最大元素;
}

(或者,如果允许的话,我会首先对列表进行排序,使其始终处于前一种情况。如果我们假设哈希映射查找是一个固定时间操作,那么它不会比使用映射更快,但会更节省内存。)

元素是否总是相邻的,或者
8
是否可以沿着列表分布?如果没有最大重复值怎么办?每个值的相等数量的列表?包括空列表?谢谢Im,元素不总是相邻的。。如果没有最大返回第一个元素,最大重复值是多少?1) 所有重复值的最大值?2) 重复最大次数的值的最大值?很难理解。这个数据的最大重复值是多少?[1, 2, 3, 4, 4, 4, 9, 6, 8, 8, 8, 7, 7, 7]; 4、7或8?如果值相同,则返回其中任何一个