C++实现统计连续相等数字个数及开发建议
### 💡思路分析 本题的目标是对于输入的 `n` 个数字,输出从每个数字开始有多少个连续相等的数。可以通过遍历数组,使用一个计数器来记录当前连续相等数字的个数,当遇到不同数字时,更新计数器并输出之前连续相等数字的个数。 ### 📝代码实现 ```cpp #include <iostream> using namespace std; const int MAXN = 100; int main() { int n; int nums[MAXN]; // 读取数字的个数 cin >> n; // 读取 n 个数字 for (int i = 0; i < n; i++) { cin >> nums[i]; } for (int i = 0; i < n; i++) { int count = 1; // 从当前位置开始,向后检查有多少个连续相等的数字 for (int j = i + 1; j < n; j++) { if (nums[j] == nums[i]) { count++; } else { break; } } // 输出从当前位置开始连续相等数字的个数 cout << count; if (i < n - 1) { cout << " "; } } cout << endl; return 0; } ``` ### 📋代码解释 1. **输入处理**:首先读取数字的个数 `n`,然后使用 `for` 循环读取 `n` 个数字并存储在数组 `nums` 中。 2. **遍历数组**:使用外层 `for` 循环遍历数组中的每个数字,对于每个数字,使用内层 `for` 循环从当前位置开始向后检查有多少个连续相等的数字,并使用计数器 `count` 记录个数。 3. **输出结果**:当内层 `for` 循环结束后,输出从当前位置开始连续相等数字的个数,并在数字之间添加空格,最后换行。 ### 🚀进阶使用指南 - **性能优化**:当前代码的时间复杂度为 $O(n^2)$,可以考虑使用双指针法将时间复杂度优化到 $O(n)$。 - **错误处理**:可以添加对输入的合法性检查,例如检查 `n` 是否小于 100。 - **扩展功能**:可以将结果存储在一个数组中,而不是直接输出,以便后续处理。 ### 📚相关学习资源 - [C++ 官方文档](https://en.cppreference.com/w/):提供了 C++ 语言的详细文档和标准库参考。 - [《C++ Primer》](https://book.douban.com/subject/1090986/):一本经典的 C++ 入门书籍,适合初学者学习。 ### 💡开发建议 - **代码可读性**:在代码中添加适当的注释,提高代码的可读性。 - **边界条件处理**:考虑边界条件,例如输入为空或只包含一个数字的情况。 - **错误处理**:在实际开发中,应该对用户输入进行合法性检查,避免程序崩溃。 ######[AI写代码神器 | 726点数解答 | 2026-08-08 19:32:46]
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)155
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)171
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)351
- C++ 实现:根据给定正整数构造 3×3 方阵并计算满足条件的方案数(阿里通义 | 875点数解答 | 2024-11-13 16:38:24)324
- C++实现:低复杂度求解 3×3 方阵构造方案数(阿里通义 | 708点数解答 | 2024-11-13 16:45:15)359
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)558
- 深入解析洛谷打卡系统:规则揭秘与代码实现(字节豆包 | 316点数解答 | 2025-11-16 19:45:59)197
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)408
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)421
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)387
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)188
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)178