JS在线运行

版本:

编辑于 2020-11-26 20:33 累计访问:333
点击了解高性能代码运行API
运行结果
代码简介
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
【招聘】计算至少需要的面试官数量( // 核心算法思路: // 1. 首先对所有面试时间区间按开始时间排序 // 2. 检查相邻区间是否存在时间重叠 // 3. 对于重叠的区间,需要额外的面试官 // 4. 最后根据重叠情况和每个面试官的面试次数限制(m)计算所需面试官总数) 发布于:2025-03-31 18:44 查找一个有向网络的头节点和尾节点(读取输入数据并解析 统计每个节点的入度和出度 使用Map存储节点的入度和出度 每处理一条边,同时更新起点和终点的度数 入度为0的节点是起点 出度为0的节点是终点 终点需要降序排序 检查是否存在起点和终点 收集所有起点和终点 对终点进行排序 输出结果) 发布于:2025-03-31 17:51 数字序列比大小(田忌赛马:首先对两个数组进行升序排序 对arrA中的每个元素: 在arrB中查找第一个大于等于它的元素 如果找到,使用该位置的前一个元素进行匹配(得1分) 如果找不到,使用arrB的最后一个元素(得-1分)) 发布于:2025-03-31 17:20 寻找最大价值的矿堆(BFS函数实现: 参数:起始位置(i,j) 功能: 计算从起始位置开始的连通区域的和 使用BFS遍历所有相邻的位置 将已访问的位置标记为0 返回连通区域的和 主要流程: 读取矩阵数据 遍历矩阵的每个位置 对未访问的位置进行BFS 更新最大连通区域的和 关键点: 使用0标记已访问的位置 只处理值大于0的位置 考虑四个方向的相邻位置 使用Math.max更新最大和) 发布于:2025-03-31 16:53 仿LISP运算(遍历输入字符串的每个字符,遇到右括号或空格时,处理已收集的字符 遇到右括号时,进行运算,收集非括号和空格的字符;运算时从栈中弹出两个操作数和一个运算符,根据运算符执行相应的运算,将运算结果压入栈中,处理除数为0的特殊情况) 发布于:2025-03-31 16:35 Wonderland(使用dp数组记录到每天为止的最小花费 dp[i]表示到第i天为止的最小花费 // 初始值都设为0 // 状态转移: // 对于每个需要出行的日期: // 计算四种购买方案的花费 // 选择花费最小的方案 // 对于不需要出行的日期: // 保持前一天的花费不变 // 购买方案: // 买1天通行证:dp[i-1] + costs[0] // 买3天通行证:dp[i-3] + costs[1](如果天数足够) // 买7天通行证:dp[i-7] + costs[2](如果天数足够) // 买30天通行证:dp[i-30] + costs[3](如果天数足够) // 结果输出: // 输出最后一天的最小花费) 发布于:2025-03-31 16:11 【书籍叠放】(最大连续递增子序列:动态规划,先将原数组按降序(或升序)排列,然后定义dp数组,初始值为1(当前数组就是最大),双循环数组,每当arr[j][1]>arr[i][1]时,判断当前dp[i]与dp[j]+1的大小,取最大值。最后输出dp数组的最大值) 发布于:2025-03-31 15:59 最优资源分配(找每个资源中0的位置,简单题) 发布于:2025-03-31 15:49 寻找最优的路测线路(bfs:bfs时对四个方向分别进行计算,每一次都采用最大的值,当dx,dy==row-1,tate-1时,停止bfs搜索。将搜索结果放置在数组中,找到数组中的最小值) 发布于:2025-03-28 18:53 【运输时间】(逻辑分析:因为不能超车,所以最后一辆车到达的时间一定是最慢的,用arrived计算所有车辆到达的最大值(每辆车到达的最大值curArrive = n/speed+(i) i是发车的顺序 ),花费的路程只需要用arrived-发车时间(m-1)即可) 发布于:2025-03-28 18:05 战场索敌】(bfs算法:使用visited代表矩阵的每一个下标是否被访问过。循环矩阵,当遇到未被访问且不为‘#’的元素时,进入dfs算法;计算区域内E的数量是否<k如果<k,ans++;) 发布于:2025-03-28 17:52 最佳植树距离 发布于:2025-03-28 17:17 编码能力提升计划(二分+动态规划:二分的左边界是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) 发布于:2025-03-28 16:47 推荐多样性(逻辑分析:循环为windows输入元素:对每个输入数组进行取值操作,每次取n个值,然后将这n个元素分别放入到每一个window中,用idx控制输入元素个数,如果idx==n*k,立即停止循环。当list数组内的元素个数小于n时,需要像下一行借元素。然后再将这些元素都插入到window中,最后输出时将所有的window数组都拼成一个) 发布于:2025-03-28 15:43 ## JSTest 发布于:2025-03-28 09:07 【篮球游戏】(双端队列:用一个队列记录数据;定义idx变量代表outpusArr中对应的数组元素。循环inputArr,每次的数据入队,入队后,判断队列的最左边元素与最右边元素是否为当前输出数组的outputs[idx],如果是,queue退出对应元素,idx指向outputArr的下一个元素;如果左右都不匹配,说明不能得出这个序列,推出循环。判断res长度是否与输入长度相等。如果相等,说明是正确答案,输出res,如果不是,说明无解) 发布于:2025-03-27 19:11 宜居星球改造计划(不顶行输入及多源bfs算法:先while循环把matrix输入获取出来,然后遍历一次matrix,找到need数量(No的值),。然后将yes的坐标入栈,初始为第一层。按层判断四个方向是否为NO,如果为NO,就入队。每层结束后,如果need>0,day++;当所有循环结束后,如果need不为0,则输出-1;否则输出day) 发布于:2025-03-27 18:55 【解压报文】(定义四个栈:strStack:用来存储输入中的字母;numStack:用来存储计算过的数字(就是循环次数);repeatNumStack:用来临时存放读取到的数字;idxStack:用来存放重复拼接字符串时,strStack中的开始位置。读取字符串str的每一个元素,当遇到字母时,压入strStack;当读取到‘[’时,说明前面的循环次数num已经读取完毕,把repeatNum中的所有元素组成一个数字压入numStack中,清空repeatNum;然后记录当前字符串栈的长度到idxStack,这个长度就是后面遇到第一个']'时要重复元素在str中的起始位置。当遇到']'时,直接读取idx.pop(),numStack.pop()组成一个新的字符串,重新压回strStack。最后循环结束后输出strstack) 发布于:2025-03-27 18:01 【加密算法】(dfs+回溯:循环二维数组,当找到明文的第一个数组时,使用dfs算法,dfs对四个方向(上、左、右、下)开始递归寻找,如果找到就返回true,找不到就回溯,将visited[i][j]重置为false并将path中的下标组移除。最后path中的结果就是答案) 发布于:2025-03-27 17:24 打印任务排序(先将所有任务都放入一个集合中,集合的key为原数组下标,val为一个数组,初始元素为element本身;定义一个变量i然后循环直至数组长度为0:每次都出第一个元素,比较后面是否有比他大的元素,如果没有就将i放到集合中找到的这个数的第一个元素的值中去,否则就将这个数放到arr的队尾。循环结束后,将集合中的每一个vals中的第二个元素都打印出来,就是结果) 发布于:2025-03-27 16:51 观看文艺汇演问题(动态规划:先把每一场表演的开始时间和结束时间算出来放到一个数组中,然后按照开始时间排序,开始时间相同则按照结束时间升序。维护一个dp数组,dp[i]表示到第i场位置最多能参加多少场,循环两次数组,第一层从1-n,第二层从0-i,如果直播j结束后有足够时间(15分钟)赶到直播i,则可以考虑参加直播i,更新dp[i]为当前最大值) 发布于:2025-03-27 15:23 【走梅花桩】(dfs:用一个visited二维数组判断数组是否使用过,避免重复操作;dfs中对offsets的每一个[x+offsetX,y+offsetY]进行判断,如果再x+offsetX,y+offsetY不越界的情况下,ymatrix[x][y]-matrix[x+offsetX][y+offsetY]<=x&&visited[x+offsetX,y+offsetY]不为true,则count= dfs(x+offsetX,y+offsetY,count+1),直到递归结束。然后对二维数组的每一个值进行dfs操作,找到最大值) 发布于:2025-03-27 14:57 九宫格按键输入(用map保存字母模式下的输入顺序,用栈保存字母模式下输入的相同数字,然后对输入字符串进行逻辑判断:如果是#,当前为字母模式时,需要清空栈并输出一个字母,然后切换模式;当输入的是数字时,如果是字母模式,,如果遇到和栈顶不同的数字或/,就清空栈,然后输出一个字母。否则就需要将这个数字压入栈。再输入元素的结尾放一个空格,增加一个else输出逻辑,确保最后一定能清空栈顶元素并输出字母) 发布于:2025-03-26 18:58 【最大值】(自定义排序,如果看a b组成的数字,如果a+b大,a排在B前面。否则b排在a前面) 发布于:2025-03-26 17:57 计算疫情扩散时间(多源图的层序bfs:先初始化矩阵,将矩阵内1的下标入队。然后bfs,bfs时,先遍历当前队列,对当前队列的每一组坐标,判断每一个偏移量处是否为未感染,如果未感染就感染;并将新的偏移坐标入队。循环过当前的size后,stime++。最后输出time) 发布于:2025-03-26 17:49 【火锅】吃到最多刚好合适的菜(把数组整合成第i秒能吃到这个菜,然后拿第一个菜,后面的菜用pre代表前一个菜拿的时间,如果suit[i]-pre>=m,可以拿,ans++) 发布于:2025-03-26 17:28 云短信平台优惠活动(完全背包问题) 发布于:2025-03-26 16:55 寻找符合要求的最长子串(滑动窗口:当右指针指向为数字时,r++,用letterNum记录子串内letter的数量,当letterNum>1时,开始收缩左窗口,直到letterNum==1;收缩完成后,更新最大值,然后重新开始滑动右指针) 发布于:2025-03-26 16:40 计算网络信号(先把arr转换成矩阵。再遍历矩阵,找到信号源,放入starts,然后对每一个starts都进行一遍bfs。bfs算法中,定义一个queue,将[x,y]作为初始bfs节点。每次都shift出节点每次向上下左右四个节点进行寻找。每次搜索matrix[newX][newY]--;如果这个值大于0,将[newX,newY]放入到queue中。) 发布于:2025-03-26 16:16 最长方连续方波信号(先将输入的字符串截断,当连续出现两个0时就把第二个0之前的部分截断。内置临时变量i,当i等于字符串的长度的时候停止循环;然后再对每一个有效字符(长度大于1)的进行判断,将符合条件的提取出来,最后再按照长度排序) 发布于:2025-03-26 15:25 【学生方阵】(暴力破解,分别对周围8个方向进行查找) 发布于:2025-03-26 15:03 树状结构查询(用map模拟树结构,将每一个父亲节点都放到map.get中,然后对map进行dfs遍历) 发布于:2025-03-26 14:50 【数字游戏】(双循环暴力破解) 发布于:2025-03-26 14:32 字符串化繁为简(先对字符串进行预处理:将每一个()内的字母都放入一个集合中,然后把不在()内的字母单独放到一个str中;然后对每一个set进行合并操作:循环这个集合数组,每次进行两两比较,如果这两个集合中的任意一个字母或他对应的大写字母在另一个集合中也出现过,那么这两个集合就能够合并。将合并之后的新集合放到数组中并重新开始循环,直到循环两次后没有任何数组能够合并。集合合并过后就对原字符串进行操作,对每一个字母在集合中进行比对,如果在任意一个集合中,就替换成这个集合中的那个字典排序最小的那个。))(暴力解法75%通过率) 发布于:2025-03-25 17:50 【找单词】(bfs:对matrix内的每个元素与word[k]进行比对,当比对结果正确时将(i,j)放入path中,将used[i,j]==true并对[i,j]四周[i-1,j][i+1,j][i,j-1][i,j+1]进行dfs。如果结果均为false,path弹出,used[i,j]还原为false;如果path的长度等于word的长度,说明找到了结果,直接return true。对矩阵中的每个元素都进行一次dfs,找到正确的值后直接return console.log(path.join(',')) 发布于:2025-03-25 16:40 文本统计分析(输入处理;转义字符处理;) 发布于:2025-03-25 15:43 模拟目录管理功能(用多叉树模拟文件管理) 发布于:2025-03-24 19:02 项目排期(二分+回溯) 发布于:2025-03-24 18:16 【跳格子3】(动态规划:dp[i]=Math.max(dp[i-k]-dp[i-1])+scores[i]) 发布于:2025-03-24 17:17 中文分词模拟器(将words中的所有元素放入集合中,从sentenes中的每个sentence开始查找,从sentence本身开始查,然后一个字母一个字母的缩小,查到words中有sentence.slice(0,r)时,如果r<sentence.length,就将sentence截断,截断后的新sentence放到sentences的队首。如果一直检查到结尾都没有,那就将首字母截断,将剩余的放入队首重新检查) 发布于:2025-03-24 16:55 二叉树计算 发布于:2025-03-24 16:38 电脑病毒感染(单元最短路径求解: dijkstra算法:用group将所有路径都储存起来;定义visited数组记录已经访问过的节点,dist记录到节点i的最短路径长度;定义一个数组queue,将图的初始节点记录,循环queue,每次推出栈顶元素[u,dist];如果visited[u]==true,代表这个元素已经访问过,continue;否则,从图中找出所有和u相关的路径[u,v,w],dist[u]+w就是从原点到节点v的距离newDist,将这个newdist和dist[v]比较,如果小于dist[v]则更新dist[v]。并将这个节点推入queue中。进行过一次while循环就重新对queue数组排序,确保栈顶元素是最小值) 发布于:2025-03-24 15:49 爱吃蟠桃的孙悟空(二分法,min==1 max==Math.max(...arr) 计算吃完花费的时间,cost<=H?mid = max-1:mid = min+1) 发布于:2025-03-24 14:58 模拟商场优惠打折(自定义排序+自定义算法) 发布于:2025-03-21 18:03 开心消消乐(就是孤岛数量,bfs) 发布于:2025-03-21 16:39 【事件推送】(因为是升序数组,直接双指针,每当符合条件的数字对存在时让指向第一个元素的+1,否则就另一个+1) 发布于:2025-03-21 16:20 按单词下标区间翻转文章内容(字符串反转,简单的数组反转) 发布于:2025-03-21 16:10 太阳能板最大面积(取左边和右边最小的板为高,两坐标差为宽相乘;并移动短板,知道i==j) 发布于:2025-03-21 15:49 相对开音节(正则解法:判断是否带数字和符号正则:/[^a-z]/;元音正则:[aeiou]辅音正则:[^aeiou]) 发布于:2025-03-20 19:14 最大括号深度(左括号入栈并检查深度,右括号比较栈顶是否为对应的左括号,不是返回0,是出战继续) 发布于:2025-03-20 18:38 [更多]

作者 null(suzi310)
编辑于:2020-11-26 20:33

Queue队列

提示:本站严禁涉政、违法等无关技术的内容
发送
学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

yout