给定一个int数组里面存在重复的數值,如何找到重复次数最多的数值呢?
这是在某社区上有人提出的问题我想到的解决方法是分组。
1、先对数组中的所有元素进行分组那么,重复的数值肯定会被放到一组中;
2、将分组进行排序排序条件是分组中的元素个数;
3、元素数量最多的那个分组中的数值就是重複次数最多的。
基于以上思路可以写出以下代码:
// 示例数组,90重复4次1重复2次,3重复3次 * 先将数组各元素进行分组 * 然后将每个组中的元素个数按降序排列
给定一个int数组里面存在重复的數值,如何找到重复次数最多的数值呢?
这是在某社区上有人提出的问题我想到的解决方法是分组。
1、先对数组中的所有元素进行分组那么,重复的数值肯定会被放到一组中;
2、将分组进行排序排序条件是分组中的元素个数;
3、元素数量最多的那个分组中的数值就是重複次数最多的。
基于以上思路可以写出以下代码:
// 示例数组,90重复4次1重复2次,3重复3次 * 先将数组各元素进行分组 * 然后将每个组中的元素个数按降序排列
用LINQ, a对b做差集,b对a做差集,两次的结果嘟是空集合则说明两个集合完全相同,这是最简单的办法,只要一句话就能搞定.类似这样:(手写,不一定正确)
定义数组c先用循环,找出b中与a相等嘚所有大的数的下标记入数组c,然后根据c中的下表,对b中相应的数进行修改
下载百度知道APP抢鲜体验
使用百喥知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。