C++ 初学者搞定小鱼“比可爱”计数难题:代码详解与复杂度分析
以下是使用 C++ 解决该问题的代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 输入鱼的数目 cin >> n; int a[1000]; // 输入每只鱼的可爱程度 for (int i = 0; i < n; i++) { cin >> a[i]; } // 遍历每只鱼 for (int i = 0; i < n; i++) { int count = 0; // 统计在当前鱼左边有多少只鱼不如自己可爱 for (int j = 0; j < i; j++) { if (a[j] < a[i]) { count++; } } // 输出结果 if (i > 0) { cout << " "; } cout << count; } cout << endl; return 0; } ``` 代码解释: 1. 输入鱼的数目:使用 `cin` 读取一个正整数 `n`,表示鱼的数目。 2. 输入每只鱼的可爱程度:使用一个数组 `a` 来存储每只鱼的可爱程度。通过一个 `for` 循环,依次读取 `n` 个正整数,并存储到数组 `a` 中。 3. 统计每只鱼眼中不如自己可爱的鱼的数量: - 外层 `for` 循环遍历每只鱼。 - 对于每只鱼,使用内层 `for` 循环遍历其左边的所有鱼。 - 如果左边的鱼的可爱程度小于当前鱼的可爱程度,则计数器 `count` 加 1。 4. 输出结果: - 在外层 `for` 循环中,输出每只鱼眼中不如自己可爱的鱼的数量。 - 为了保证输出格式正确,除了第一只鱼外,其他鱼的输出结果前都要输出一个空格。 复杂度分析: - 时间复杂度:代码中有两层嵌套的 `for` 循环,因此时间复杂度为 $O(n^2)$,其中 $n$ 是鱼的数目。 - 空间复杂度:代码中使用了一个长度为 $n$ 的数组来存储每只鱼的可爱程度,因此空间复杂度为 $O(n)$。 ######[AI问答 | 553点数解答 | 2026-02-07 18:59:03]
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)229
- C++求解序列或与运算和差值:避O(nq)复杂度及数据处理要点(字节豆包 | 534点数解答 | 2025-10-17 20:05:07)62
- C++ 初学者搞定小鱼“比可爱”计数难题:代码详解与复杂度分析(字节豆包 | 553点数解答 | 2026-02-07 18:59:03)42
- 过年期间光头强面临的美人松查询问题的C++解法(字节豆包 | 425点数解答 | 2026-02-24 19:53:50)16
- 狗熊岭美人松查找问题的 C++ 实现(字节豆包 | 683点数解答 | 2026-02-24 19:56:05)17
- Java 实现:轻松生成 5 位数字、大小写字母混合验证码( | 266点数解答 | 2024-03-06 17:39:10)332
- 深度剖析:游戏中两个 Buff 效果的触发条件、逻辑及注意要点 (阿里通义 | 566点数解答 | 2024-11-26 14:24:12)262
- 深度剖析 Vue 2 插槽:从基础使用到高级玩法(字节豆包 | 165点数解答 | 2024-11-29 11:25:06)216
- C++实现支持四则运算的简单计算器,处理除数为0和无效操作(字节豆包 | 241点数解答 | 2025-10-29 20:21:29)64
- C语言破解甲乙丙真假话谜题:开发中需留意的三大要点(字节豆包 | 444点数解答 | 2025-11-24 00:10:58)52
- 大学生日常花销记账App开发:测试部署与后端开发工作全揭秘(百度文心 | 612点数解答 | 2024-05-15 18:59:38)350
- JS 代码:轻松定义变量 test 并赋值为“red”( | 6点数解答 | 2024-05-19 20:46:45)385