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

牛群的可视高度

https://www.nowcoder.com/practice/942d0585a5654dbb9d5000feaa4e177e?tpId=354&tqId=10588389&ru=/exam/oj&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param cowHeights int整型一维数组
     * @return int整型
     */
   public int visibleCows (int[] cowHeights) {
        int [] tempMax = new int[cowHeights.length];
        int max = cowHeights[0];
        tempMax[0] = max;
        int count = 0;
        for (int i = 1; i < cowHeights.length; i++) {
            if(cowHeights[i]>max){
                max = cowHeights[i];
            }
            tempMax[i] = max;
        }
        for (int i = 1; i < cowHeights.length; i++) {
            if(tempMax[i]<=cowHeights[i]&&tempMax[i]!=tempMax[i-1]){
                count++;
            }
        }
        return count+1;
    }
}

本题知识点分析:

1.数组遍历

2.贪心算法

3.数学模拟

本题解题思路分析:

1.第一个遍历获取每一个索引时刻的最大值

2.第二个遍历,如果当前索引时刻最大值小于等于当前值并且索引时刻最大值不产生第二次连续count++

3.返回count+1,因为i=1开始

4.最后发现貌似一次遍历就可以了,边更新Max,边用if判断不就好了.......

本题使用编程语言: Java

全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务