题解 | #牛群的可视高度# java

牛群的可视高度

https://www.nowcoder.com/practice/942d0585a5654dbb9d5000feaa4e177e

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 编程语言编写

该题考察的知识点包括:

  1. 数组遍历
  2. 贪心算法

代码的文字解释:使用 visibleCount 变量来记录可以看到的牛的数量,以及 maxHeight 变量来记录当前可见牛的最大高度。

通过遍历 cowHeights 数组,对于每头牛的高度,如果当前牛的高度大于 maxHeight,说明这头牛可以被看到,我们将 visibleCount 增加1,并更新 maxHeight 为当前牛的高度。因为只有比之前的牛更高的牛能够被看到,所以我们只需要关注高度递增的牛,最后返回 visibleCount,即为从左到右能看到的牛的数量。

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务