小红书笔试(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);

#小红书##笔试题目#
全部评论
楼主能不能贴下红薯券的那道题代码啊
点赞 回复 分享
发布于 2019-08-19 10:34

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务