import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param cowHeights int整型一维数组
     * @return int整型
     */
    public int visibleCows (int[] cowHeights) {
        // write code here
        int mx = -1, res = 0;
        for (int x : cowHeights) {
            if (mx < x) {
                res += 1;
                mx = x;
            }
        }
        return res;
    }
}

编程语言是Java。

该题考察的知识点是遍历列表,并比较元素与之前最大值的大小关系。

代码的文字解释如下:

  •  mx 来记录当前遍历到的最大牛的高度,初始值设为-1。
  •  res 来记录可见的牛的数量,初始值设为0。
  • 遍历给定的牛的高度列表 cowHeights 中的每个元素 x
  • 如果当前牛的高度大于 mx,则将 res 值加一,表示找到了一个可见的牛,同时更新 mx 的值为当前牛的高度。
  • 最后返回 res 的值,即可见牛的数量。