C++实现统计每个位置前面较小元素个数
根据题目描述,这是对输入序列进行某种特定操作后输出。从样例看,输入 6 个数字 `4 3 0 5 1 2`,输出 `0 0 0 3 1 2`,推测规则可能是:将每个数字改为其前面比它小的数字个数(即逆序数中“前面小于当前”的计数),但验证一下: - 第1个4,前面没有数,计0 → 输出0 - 第2个3,前面小于3的只有0个(4>3),计0 → 输出0 - 第3个0,前面小于0的没有,计0 → 输出0 - 第4个5,前面小于5的有4,3,0共3个 → 输出3 - 第5个1,前面小于1的只有0一个 → 但输出是1?检查:前面小于1的只有0,计1 → 输出1 - 第6个2,前面小于2的有0,1共2个 → 输出2 这样与样例完全吻合。因此本题是求每个位置前面比当前元素小的个数。 ## 🧮 实现思路 遍历每个位置 i,统计 j<i 且 a[j] < a[i] 的个数,直接输出。 ## 💻 C++ 代码 ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } vector<int> res(n, 0); for (int i = 0; i < n; i++) { int cnt = 0; for (int j = 0; j < i; j++) { if (a[j] < a[i]) cnt++; } res[i] = cnt; } for (int i = 0; i < n; i++) { if (i) cout << " "; cout << res[i]; } cout << endl; return 0; } ``` ## 🔍 复杂度分析 时间复杂度 O(n²),n<100 完全可行。空间复杂度 O(n)。 ######[AI问答 | 510点数解答 | 2026-08-08 19:11:41]
- 速度与车距差值系数模糊化:构建换道决策意愿模糊规则(字节豆包 | 1374点数解答 | 2024-11-13 10:53:36)362
- 数轴旅行:从原点出发,能否到达目标位置?(字节豆包 | 225点数解答 | 2026-01-23 19:51:03)135
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)352
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)558
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)474
- jQuery 实现动态操作 DOM:打造可增删任务的待办事项列表应用(百度文心 | 1015点数解答 | 2024-10-26 23:41:22)512
- jQuery 打造实用待办事项列表:输入添加、点击删除一步到位!(阿里通义 | 1139点数解答 | 2024-10-29 08:44:48)433
- jQuery 实现动态操作 DOM:打造带添加与删除功能的待办事项列表应用(阿里通义 | 687点数解答 | 2024-10-29 09:25:06)443
- Python Tkinter 代码剖析:GUI 程序搭建与窗口居中函数解析(字节豆包 | 314点数解答 | 2024-08-02 14:49:22)387
- 巧用 CDN 搭建含照片轮播、社交链接与 AI 对话的单页个人网页(字节豆包 | 485点数解答 | 2024-10-28 23:31:13)306
- 巧用 CDN 搭建单页个人网页:含照片轮播、社交链接与 AI 对话界面 (阿里通义 | 1752点数解答 | 2024-10-28 23:32:45)310
- C++ 完整代码:实现书籍信息录入与列表管理(GPT | 2245点数解答 | 2024-12-18 09:06:13)322