题解 | #最大放牛数#
最大放牛数
https://www.nowcoder.com/practice/5ccfbb41306c445fb3fd35a4d986f8b2
知识点
数组
解题思路
定义一个符号flag代表下一个位置是否可以放牛,默认为false表示下一个位置可以放牛。
如果当前为1,将flag赋值为true表示下一个位置不可以放牛。
如果为0,如果当前flag为false表示上一个位置也是0,这时这里就可以放牛了。
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 m = pasture.length; boolean flag = false; for (int cow : pasture) { if(cow == 1){ flag = true; } else { if(!flag) { n--; flag = true; } else { flag = false; } } } return n <= 0; } }