小红书笔试(8/18)
有没有大佬发布比较牛逼的方法,我这个可能有问题
算法题:第三题
#小红书##笔试题目#//以下用的是赛马的读数据方式
let N = readInt();
let T = readInt();
let M = readInt();
let H = 'read_line()'.split(' ');
if(M<0 || M>T) throw Error('input error');
let X = 1,count=0;
while(true){
let j=0;
count = 0;
let merge = M;
let blood = H.slice(); //数组拷贝
// console.log(count);
for(;j<N;j++){
if(count>T){
break;
}
if(merge>0){//还有法力
blood[j] -= X;
merge--;
}else{
blood[j]--;
}
if(blood[j]>0){
j--;
}
count++;
}
// console.log(X,blood[j],j);
if(blood[j]>0 || j<N){
X++
}else{
break;
}
}
print(X); 