找出数组中重复次数最多的元素
2017-01-07 18:09
197 查看
思路:
最简单的方法就是定义一个数组b把相同的元素放到对应位置,如果数组a的元素等于这个下标,那么这个下标对应的值就加1,最后找出这个数组中最大值返回下标,这个方法浪费很大空间,不推荐。
新的思路:采用map,定义一个map,初始值默认为0,循环遍历数组a,把map中key值是a中此时元素的value加1,初始定义一个val假设map[val]最大,最后每次遍历都和这个值比较,如果大于这个值,那么val就重新复制为a[i],具体实现为:
最后输出:5
最简单的方法就是定义一个数组b把相同的元素放到对应位置,如果数组a的元素等于这个下标,那么这个下标对应的值就加1,最后找出这个数组中最大值返回下标,这个方法浪费很大空间,不推荐。
新的思路:采用map,定义一个map,初始值默认为0,循环遍历数组a,把map中key值是a中此时元素的value加1,初始定义一个val假设map[val]最大,最后每次遍历都和这个值比较,如果大于这个值,那么val就重新复制为a[i],具体实现为:
#include<iostream> #include<map> using namespace std; int getMax(int *a,int len,int val); int main() { int b[]={1,5,4,3,4,4,5,4,5,5,6}; cout<<getMax(b,11,0); } int getMax(int *a,int len,int val) { if(len==0) { cout<<"长度为0不合法"<<endl; return -1; } map<int,int> m; for(int i=0;i<len;i++) { m[a[i]]++; if(m[a[i]]>=m[val]) val=a[i]; } return val; }
最后输出:5
相关文章推荐
- 练手系列(1) 找出数组中重复次数最多的元素并打印
- Java实现找出数组中重复次数最多的元素以及个数
- 找出数组中重复次数最多的元素并打印
- 找出数组中重复次数最多的元素并打印
- 找出整型数组中重复次数最多的元素
- java 找出n个元素数组中重复次数最多的数(假设出现次数大于n/2)
- Majority Element 找出一个数组中出现次数最多的元素
- 如何找出数组中重复次数最多的数
- 求一个数组重复出现次数最多的元素以及下标位置
- java找出一个数组中出现次数最多且最大的那个元素
- 找出数组中重复次数最多的数
- 找出数组中出现次数最多的前k个元素[leetcode题]
- 找出一个数组中重复次数最多的字符暨找出Map中的最大Value及其对应的Key
- 求一个数组中重复元素出现最多值,最大的元素及出现次数,次数相同时,取最大值,优先考虑次数
- 找出数组里面元素出现次数最多的问题
- php如何找出一个数组重复次数最高的元素?
- 找出数组中重复次数最多的数
- 找出数组中重复次数为2的元素,
- 找出数组里面元素出现次数最多的问题
- <C#>找出数组中重复次数最多的数值