class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pasture int整型vector
* @param n int整型
* @return bool布尔型
*/
bool canPlaceCows(vector<int>& pasture, int n) {
// write code here
int nn = pasture.size();
int ans = 0, cnt = 0;
for (int i = 0; i < nn; ++i) {
if (pasture[i] == 0) {
cnt++;
} else {
if (cnt > 2) {
ans = ans + cnt / 2;
cnt = 0;
}
}
if (cnt == nn)
ans = cnt / 2 + 1;
else
ans = ans + cnt / 2;
}
if (ans >= n)return true;
else return false;
}
};
一、题目考察的知识点
模拟
二、题目解答方法的文字分析
统计连续0的个数,除以2就是能放进最大的牛数,但是要注意全为0的情况,这种情况可以比平常多放一个。
三、本题解析所用的编程语言
c++

京公网安备 11010502036488号