#P435. 【入门】小鱼比可爱

【入门】小鱼比可爱

Description

人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。

Input Format

第一行输入一个整数n(n<=100),表示鱼的数目。 第二行内输入n个整数,用空格间隔,依次表示从左到右每只小鱼的可爱程度。

Output Format

行内输出n个整数,用空格间隔,依次表示每只小鱼眼中有多少只鱼不如自己可爱。

6
4 3 0 5 1 2
0 0 0 3 1 2

Source

数组问题

总结题意

这个题目其实讲了一个很有趣的“小鱼比美”场景,核心意思就是让我们帮小鱼们做个统计。简单来说,题意可以拆解成以下几个关键点:

站位与朝向:有一排小鱼从左到右排好队,而且它们的头全都朝向左边。 视线范围:因为头朝左,所以每只小鱼只能看到排在它左边的那些鱼,右边的它看不见。 任务目标:每只小鱼都要在心里数一数,在它左边能看见的鱼里面,有多少只鱼的可爱值(整数)是严格小于它自己的。

结合你给的样例 4 3 0 5 1 2,我们可以这样代入理解: 第1只鱼(可爱值4):左边没鱼,所以是 0。 第2只鱼(可爱值3):左边只有4,4比3大,没有不如它的,所以是 0。 第4只鱼(可爱值5):左边有4、3、0,这三个数都比5小,所以是 3。 第6只鱼(可爱值2):左边有4、3、0、5、1,其中只有0和1比2小,所以是 2。

总结一下算法逻辑: 这就相当于让我们遍历数组中的每一个元素,对于第 i 个元素,去统计它前面(下标 0 到 i-1)有多少个数字比它小,最后把这些统计结果依次输出出来。