题解 | #最大放牛数#
最大放牛数
https://www.nowcoder.com/practice/5ccfbb41306c445fb3fd35a4d986f8b2
贪心,遇到前后都是0就插一个,同时记得判断初边界(后0就可插)与末边界(前0就可插)。
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pasture int整型vector * @param n int整型 * @return bool布尔型 */ bool canPlaceCows(vector<int>& pasture, int n) { // write code here int len = pasture.size(); for (int i = 0; i < len && n; ++i) { if((i - 1 < 0 || pasture[i - 1] == 0) && (i + 1 == len || pasture[i + 1] == 0) && pasture[i] == 0){ --n; ++i; } } return n == 0; } };