top1编程
← 返回题目
题解

小鱼比可爱

1 条题解

  • 0
    @ 2026-8-4 16:08:45

    解题思路

    每只小鱼看左边比自己可爱程度小的鱼有几条。对第 i 只鱼,遍历它左边的 0~i-1 只,数出可爱程度比它小的。这就是双重循环:外层是每只鱼,内层数左边比自己小的数量。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
        int a[105];
        for (int i = 0; i < n; i++) cin >> a[i];
        for (int i = 0; i < n; i++) {
            int cnt = 0;
            for (int j = 0; j < i; j++) {
                if (a[j] < a[i]) cnt++;   // 左边比自己小的
            }
            if (i > 0) cout << " ";
            cout << cnt;
        }
        return 0;
    }
    

    复杂度分析

    双重循环 n² 次,n 最大 100,时间复杂度 O(n²),额外空间复杂度 O(n)。

    • 1