题解 | #最大放牛数#
最大放牛数
https://www.nowcoder.com/practice/5ccfbb41306c445fb3fd35a4d986f8b2?tpId=354&tqId=10595891&ru=/exam/oj&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D354
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;
}
}
知识点:
数组
解题思路:
定义一个符号flag代表下一个位置是否可以,默认为false表示下一个位置可以。
如果当前为1,将flag赋值为true表示下一个位置不可以。
为0,如果当前flag为false表示上一个位置也是0,这时这里就可以。
腾讯成长空间 5958人发布