JSRUN 用代码说话
精选js
全部js
编码能力提升计划(二分+动态规划:二分的左边界是0:每天都看答案;又边界是question.sum-Math.max(...questions),check算法中,let days = 1; // 当前天数,从第1天开始 let i = 0; // 当前处理的题目索引 let maxCost = 0; // 当前天耗时最多的题目 let sum = 0; // 当前天的做题时间总和 let canWatch = true; // 当前天是否可以看答案;sum++;如果sum>T,则看答案:将储存的最大的值-去,然后再进行下一项的比对;如果不能看答案,直接到下一天,将sum,maxCost,canWatch都重置。最后返回days<=m)


推荐多样性(逻辑分析:循环为windows输入元素:对每个输入数组进行取值操作,每次取n个值,然后将这n个元素分别放入到每一个window中,用idx控制输入元素个数,如果idx==n*k,立即停止循环。当list数组内的元素个数小于n时,需要像下一行借元素。然后再将这些元素都插入到window中,最后输出时将所有的window数组都拼成一个)


【篮球游戏】(双端队列:用一个队列记录数据;定义idx变量代表outpusArr中对应的数组元素。循环inputArr,每次的数据入队,入队后,判断队列的最左边元素与最右边元素是否为当前输出数组的outputs[idx],如果是,queue退出对应元素,idx指向outputArr的下一个元素;如果左右都不匹配,说明不能得出这个序列,推出循环。判断res长度是否与输入长度相等。如果相等,说明是正确答案,输出res,如果不是,说明无解)


宜居星球改造计划(不顶行输入及多源bfs算法:先while循环把matrix输入获取出来,然后遍历一次matrix,找到need数量(No的值),。然后将yes的坐标入栈,初始为第一层。按层判断四个方向是否为NO,如果为NO,就入队。每层结束后,如果need>0,day++;当所有循环结束后,如果need不为0,则输出-1;否则输出day)