某沙漠新种植N颗胡杨(编号1~N),一个月后,有M颗未能成活。现可补种K颗(只可补种,不可新种),请问怎样补种,可以得到最多的连续胡杨树?
输入
N 总种植数量
M 未成活数量
M个空格分割的数,按编号从小到大排列
K 最多可以补种的数量
其中 1<=N<1000 1<=M<N 0<=K<=M
实例 输入
10
3
2 4 7
1
输出
6
说明 补种第7颗 可得到5,6,7,8,9,10连续胡杨树
let N = 10
let K = 1
let deathArr = [2,4,7]
let arr = []
let left = 0
let right = 0
let maxLen = 0
for(let i = 0;i<N;i++){
arr.push(i+1)
}
while (right<10){
let sliceArr = arr.slice(left,right+1)
let deathNum = 0
for(let i =0;i<deathArr.length;i++){
if(sliceArr.find(e=>e===deathArr[i])){
deathNum++
}
}
if(deathNum > K){
left++
}else {
right++
maxLen = Math.max(maxLen,sliceArr.length)
}
}
console.log(maxLen);