可种植最大花草数量:
(大厂原题是引入一个故事情境)
题目:
假如用一个数列表示土地上的种植情况(仅由0和1组成,1表示该区域已种植,0表示未种植)。相邻区域不能种植。在不影响原有情况下计算可种植最大花草的数量。
输入第一个值表示数组长度,第二个是数组。
举例:
输入:
5
10000
输出:
2
(10101)
注意两边边界条件。
参考代码:
public static getNum(int[] array,int n){
int count=0;
int i=0;
While(i<n){
if(array[i] ==0&&(i==0||array[i-1]==0)&&(i==len-1||array[i+1]==0)){
//边界条件
array[i]=1;
count++;
}
i++;
}
return count;
}
有错误欢迎留言探讨指正。