import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param cowHeights int整型一维数组
* @return int整型
*/
public int visibleCows (int[] cowHeights) {
// write code here
int visibleCount = 0; // 可见牛的数量
int maxHeight = 0; // 当前可见牛的最大高度
for (int height : cowHeights) {
if (height > maxHeight) {
visibleCount++;
maxHeight = height;
}
}
return visibleCount;
}
}
Java 编程语言编写
该题考察的知识点包括:
- 数组遍历
- 贪心算法
代码的文字解释:使用 visibleCount 变量来记录可以看到的牛的数量,以及 maxHeight 变量来记录当前可见牛的最大高度。
通过遍历 cowHeights 数组,对于每头牛的高度,如果当前牛的高度大于 maxHeight,说明这头牛可以被看到,我们将 visibleCount 增加1,并更新 maxHeight 为当前牛的高度。因为只有比之前的牛更高的牛能够被看到,所以我们只需要关注高度递增的牛,最后返回 visibleCount,即为从左到右能看到的牛的数量。

京公网安备 11010502036488号