酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C++ 实现:输入 n 个数并查询其首次下标与出现次数

以下是使用 C++ 解决此问题的代码示例: ```cpp #include <iostream> #include <unordered_map> int main() { int n, q; std::cin >> n >> q; int arr[n]; for (int i = 0; i < n; ++i) { std::cin >> arr[i]; } std::unordered_map<int, int> countMap; // 用于记录数字出现的次数 std::unordered_map<int, int> indexMap; // 用于记录数字首次出现的下标 for (int i = 0; i < n; ++i) { if (countMap.find(arr[i]) == countMap.end()) { indexMap[arr[i]] = i; // 记录首次出现的下标 } countMap[arr[i]]++; // 增加出现次数 } while (q--) { int target; std::cin >> target; if (countMap.find(target)!= countMap.end()) { std::cout << indexMap[target] << " " << countMap[target] << std::endl; } else { std::cout << n + 1 << " 0" << std::endl; } } return 0; } ``` 额外需要注意的逻辑点: 1. 对于输入的数字范围要进行合理的处理,防止溢出。 2. 在使用`unordered_map`时,要注意键值对的正确插入和查找。 3. 处理输入输出时,要确保格式的正确性。 ######[AI写代码神器 | 372点数解答 | 2025-04-11 21:52:46]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]