C#实现如何判断一个数组中是否有重复的元素

给定一个int数组里面存在重复的數值,如何找到重复次数最多的数值呢?

这是在某社区上有人提出的问题我想到的解决方法是分组。

1、先对数组中的所有元素进行分组那么,重复的数值肯定会被放到一组中;

2、将分组进行排序排序条件是分组中的元素个数;

3、元素数量最多的那个分组中的数值就是重複次数最多的。

基于以上思路可以写出以下代码:

 // 示例数组,90重复4次1重复2次,3重复3次
 
 * 先将数组各元素进行分组
 * 然后将每个组中的元素个数按降序排列
 
 

用LINQ, a对b做差集,b对a做差集,两次的结果嘟是空集合则说明两个集合完全相同,这是最简单的办法,只要一句话就能搞定.类似这样:(手写,不一定正确)

定义数组c先用循环,找出b中与a相等嘚所有大的数的下标记入数组c,然后根据c中的下表,对b中相应的数进行修改


· 超过23用户采纳过TA的回答

下载百度知道APP抢鲜体验

使用百喥知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 c读xi还是sei 的文章

 

随机推荐