题解 | #最大放牛数#

最大放牛数

https://www.nowcoder.com/practice/5ccfbb41306c445fb3fd35a4d986f8b2

知识点:贪心

思路:子问题的状态不需要记录,我们只需要模拟n填入即可,当n填完了,就说明可以

编程语言:java

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param pasture int整型一维数组
     * @param n int整型
     * @return bool布尔型
     */
    public boolean canPlaceCows (int[] pasture, int n) {
        // write code here
        int count = 0;
        for (int i= 0;i<pasture.length;i++){
            //能否填入只需要判断前后是否有牛
            if(i==0 && pasture[i] == 0 && pasture[i+1] ==0 ||
            i-1>=0&& i+1<pasture.length &&pasture[i-1]==0 && pasture[i] == 0&& pasture[i+1]==0 ||
            i==pasture.length-1 && pasture[i-1]==0&& pasture[i] ==0)
            {
                pasture[i] =1;
                count++;
            }
        }
        if(count>=n)
            return true;
        return false;
    }
}

全部评论

相关推荐

01-26 18:45
门头沟学院 Java
一天代码十万三:哥们实习再包一下吧,产出太笼统了,尽量体现业务
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务