描述 我们现在用两个数字,表示一个整数的范围。 例如: 1 4,则在这个范围内的整数有1、2、3、4; 2 7,则在这个范围内的整数有2、3、4、5、6、7; 现在有n组这样的数据 这些数字不会超过3000; 请你统计这n组数据中出现次数最多的整数, 若有多个整数,则输出最大的那个整数。 输入 输入一个正整数 � ( � < = 10000 ) n(n<=10000),表示有n组数据 接下来n行,每行两个正整数,保证左边的数小于右边的数。 输出 输出一个满足条件的整数 输入样例 1 3 1 2 2 5 1 3 输出样例1 2 c++代码
时间: 2024-02-24 09:53:39 浏览: 140
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
cin >> n;
map<int, int> freq;
while (n--) {
int l, r;
cin >> l >> r;
for (int i = l; i <= r; i++) {
freq[i]++;
}
}
int max_freq = 0, ans = 0;
for (auto& p : freq) {
if (p.second > max_freq) {
max_freq = p.second;
ans = p.first;
}
}
cout << ans << endl;
return 0;
}
```
相关问题
描述 我们现在用两个数字,表示一个整数的范围。 例如: 1 4,则在这个范围内的整数有1、2、3、4; 2 7,则在这个范围内的整数有2、3、4、5、6、7; 现在有n组这样的数据 这些数字不会超过3000; 请你统计这n组数据中出现次数最多的整数, 若有多个整数,则输出最大的那个整数。 输入 输入一个正整数 n( n< = 10000 ) n(n<=10000),表示有n组数据 接下来n行,每行两个正整数,保证左边的数小于右边的数。 输出 输出一个满足条件的整数 输入样例 1 3 1 2 2 5 1 3 输出样例1 2 c++ 代码
```cpp
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
cin >> n;
map<int, int> freq;
while (n--) {
int a, b;
cin >> a >> b;
for (int i = a; i <= b; i++) {
freq[i]++;
}
}
int max_freq = 0, max_num = -1;
for (auto p : freq) {
if (p.second > max_freq) {
max_freq = p.second;
max_num = p.first;
}
}
cout << max_num << endl;
return 0;
}
```
题目描述 给定一串数字,然后给定若干删除操作,将操作后的结果输出。 输入要求 第一行:输入一个整数n,表示这串数字有n个(n>=1)。 第二行:输入这n个数字。 第三行:输入一个整数m,表示有m个删除操作。 后面m行:每行输入两个整数a和b,表示删除第a到第b个数字,包括b。(假设链表第一个数字编号为1) (假设数据都在合理范围内) 输出要求 输出操作后的结果。每个数字用空格空开 输入样例 4 2 1 3 5 2 1 1 1 2 输出样例 5
以下是给定输入样例的 Python3 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
m = int(input())
for i in range(m):
a, b = map(int, input().split())
nums = nums[:a-1] + nums[b:]
print(' '.join(map(str, nums)))
```
首先读入数字个数 `n` 和数字序列 `nums`,然后读入删除操作个数 `m`,并依次执行每个删除操作,最后输出剩余的数字序列。在删除操作中,我们可以通过切片操作将需要删除的数字从原序列中去掉。最后,使用 `' '.join(map(str, nums))` 将数字序列转为字符串,并用空格分隔每个数字。
阅读全文