输入n(n>0,n<=10)个整数存放在数组中,输出在该数组中出现次数最多的数及其出现次数。 输入格式: 一行输入整数n,第二行输入n个整数。 输出格式: 输出n个整数中出现最多的数以及出现次数,若存在多个,只输出第一个出现的。格式如样例所示。 输入样例: 在这里给出一组输入。例如: 5 2 0 3 2 0 输出样例: 在这里给出相应的输出。这里数字2和0均出现了2次,但数字2最先出现,故输出答案是数字2。 元素2出现次数为2
时间: 2024-02-15 14:05:33 浏览: 45
以下是一个 C++ 的实现,可以满足你的需求:
```cpp
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
cin >> n;
map<int, int> freq;
int max_freq = 0;
int max_num = 0;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
freq[num]++;
if (freq[num] > max_freq) {
max_freq = freq[num];
max_num = num;
}
}
cout << "元素" << max_num << "出现次数为" << max_freq << endl;
return 0;
}
```
这个程序中,我们使用了 `map` 来记录每个数出现的次数。在读入每个数的同时,更新当前出现次数最多的元素,最终输出即可。注意,如果有多个元素出现次数相同,我们选择第一个出现的那个元素。
相关问题
利用指针找数组最大值:输入n(n<=10)个整数并存入数组中,利用指针操作数组元素找出最大值,输出到屏幕上
好的,这个问题很简单。下面是代码示例:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入整数个数n(n<=10):";
cin >> n;
int arr[n];
cout << "请输入" << n << "个整数:";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int max = *arr;
for (int i = 1; i < n; i++) {
if (*(arr+i) > max) {
max = *(arr+i);
}
}
cout << "最大值为:" << max << endl;
return 0;
}
```
这里用了指针的形式来访问数组元素,即 `*(arr+i)` 表示数组中下标为i的元素的值。同时,也需要注意数组的大小不能超过10。
输入n个整数存放在数组a[1]至a[n]中,输出最大数所在的位置
算法1:遍历
直接遍历整个数组,记录最大值和最大值所在的位置即可。
时间复杂度:O(n)
C++ 代码
class Solution {
public:
int findMax(int* a, int n) {
int maxNum = a[0];
int maxPos = 0;
for (int i = 1; i < n; i++) {
if (a[i] > maxNum) {
maxNum = a[i];
maxPos = i;
}
}
return maxPos + 1;
}
};
算法2:分治
将数组分成两部分,分别找到左半部分的最大值和右半部分的最大值,比较两个最大值,返回较大的那个。
时间复杂度:O(nlogn)
C++ 代码
class Solution {
public:
int findMax(int* a, int n) {
return findMaxHelper(a, 0, n - 1) + 1;
}
private:
int findMaxHelper(int* a, int left, int right) {
if (left == right) {
return left;
}
int mid = left + (right - left) / 2;
int leftMaxPos = findMaxHelper(a, left, mid);
int rightMaxPos = findMaxHelper(a, mid + 1, right);
return a[leftMaxPos] > a[rightMaxPos] ? leftMaxPos : rightMaxPos;
}
};
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)