Can Place Flowers (Easy)种花策略 贪心算法
class Solution {
fun canPlaceFlowers(flowerbed: IntArray, n: Int): Boolean {
var numbs = 0
val asList = flowerbed.asList()
var size =flowerbed.size ;
if(size==1){ //边界问题
if(flowerbed[0]==0)
return 1>=n
else
return 0==n
}
for(i in 0 until flowerbed.size){
if(i==0){
if(flowerbed[0]==flowerbed[1]&&flowerbed[0]==0){
flowerbed[0]=1
numbs++
}
}else if(i==size-1){ //边界问题
if(flowerbed[size-1]==flowerbed[size-2]&&flowerbed[size-1]==0){
numbs++
}
}else{
if(flowerbed[i-1]==flowerbed[i]&&flowerbed[i-1]==flowerbed[i+1]&&flowerbed[i+1]==0){
numbs++
flowerbed[i]=1
}
}
}
return numbs>=n;
}
}
有更好的kt解法请告诉我,比如如何用kt在数组两端补0