过年期间光头强应对美人松查询问题的C++代码实现
以下是解决该问题的C++代码: ```cpp #include <iostream> #include <unordered_map> using namespace std; int main() { int N, M; // 输入美人松的数量N和询问次数M cin >> N >> M; // 使用unordered_map来存储每棵美人松高度及其出现的次数 unordered_map<long long, int> treeCount; // 输入N棵美人松的高度,并统计每种高度的数量 for (int i = 0; i < N; i++) { long long height; cin >> height; treeCount[height]++; } // 进行M次询问 for (int i = 0; i < M; i++) { long long k; cin >> k; // 输出高度为k的美人松的数量,如果不存在则输出0 if (i > 0) { cout << " "; } cout << treeCount[k]; } cout << endl; return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取美人松的数量`N`和询问次数`M`。 2. **统计美人松高度**:使用`unordered_map`来存储每棵美人松的高度及其出现的次数。遍历输入的`N`棵美人松的高度,将每种高度的出现次数进行累加。 3. **进行询问**:读取`M`个询问,对于每个询问的高度`k`,直接从`unordered_map`中获取该高度的美人松的数量并输出。如果该高度不存在,则`unordered_map`会默认返回0。 ### 复杂度分析: - **时间复杂度**:统计美人松高度的时间复杂度为$O(N)$,进行`M`次询问的时间复杂度为$O(M)$,因此总的时间复杂度为$O(N + M)$。 - **空间复杂度**:使用了`unordered_map`来存储美人松的高度及其出现的次数,最坏情况下的空间复杂度为$O(N)$。 ######[AI问答 | 502点数解答 | 2026-02-25 12:18:03]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)328
- 过年必备!全方位揭秘春节礼仪注意要点(阿里通义 | 338点数解答 | 2024-01-06 10:41:34)196
- 补全含错误代码:Vue结合Element UI组件实现查询、新增及表格展示功能 ( | 400点数解答 | 2023-12-19 15:20:50)426
- 单线程频繁查ClickHouse致CPU飙升?这些优化方案速看!(DeepSeek | 491点数解答 | 2025-02-13 17:49:54)202
- MySQL:巧用 NOT LIKE 查询字段不包含特定字符串及注意要点 (DeepSeek | 264点数解答 | 2025-02-13 18:25:01)173
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)296
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)436
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)345
- 浙闽“板凳龙”舞龙队 300 秒螺线盘入:位置与速度全揭秘(阿里通义 | 886点数解答 | 2024-09-07 10:31:31)622
- 浙闽“板凳龙”舞龙队 300 秒位置与速度数学模型揭秘(GPT | 565点数解答 | 2024-09-07 10:32:56)519
- 223节板凳龙沿等距螺线盘入:300秒内位置与速度的数学揭秘 (讯飞星火 | 443点数解答 | 2024-09-07 10:34:10)364
- 浙闽“板凳龙”300秒舞龙轨迹与速度:数学模型揭秘!(字节豆包 | 522点数解答 | 2024-09-07 10:35:06)335