JS在线运行

版本:

编辑于 2023-11-14 10:07 累计访问:1358
点击了解高性能代码运行API
运行结果
代码简介
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
【篮球游戏】(双端队列:用一个队列记录数据;定义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 最多提取子串数目(逻辑分析:将A中出现的每一个B中的字母进行计数,使用一个集合idx记录b中每个字母的下标;在使用一个集合count记录扫描A时B中每个元素的次数;扫描一遍A的字母c,如果idx[c]!==undefined&&count[idx[c]]<count[idx[c]-1) count[idx[c]++];取count中最后一个元素的值,就是出现的次数 发布于:2025-03-20 18:28 比赛的冠亚季军(// 初始栈放入所有人的编号;// 用栈模拟:不断向stack中插入win lost数组,当stack[stack.length-1]的长度为1时,就已经选出了冠军\) 发布于:2025-03-20 17:59 任务总执行时长(两种任务,一共i个,求所有可能的排列组合) 发布于:2025-03-20 17:08 完全二叉树非叶子部分后序遍历(用数组模拟完全二叉树:lchild=root*2+1,rchild=root*2+2;用dfs遍历二叉树;当左子树不为空时继续遍历左子树了又子树不为空时继续遍历右子树,最后将root放入ans) 发布于:2025-03-20 16:59 工程:多工程少天数时数组排列 发布于:2025-03-20 17:36 【寻找密码】(先按照字符串长度和字典顺序排序,将所有字符串都放入set中 排序后的对每一个字符串进行循环,从最后一位开始切割,如果每一个子串都能在set中找到,那么这个字符串就是答案) 发布于:2025-03-20 16:39 字符串解密(用正则把字符串分割,分割后在的子数组排序,找到不同字母最接近目标字符串的) 发布于:2025-03-20 16:27 最长的顺子(map记录每一张牌的剩余数量,用双指针选出数量每一个连成顺子的长度以及下标,如果长度大于5就选出这个下标中长度最大的) 发布于:2025-03-20 15:50 寻找关键钥匙(字符串操作 找出所有字母后升序) 发布于:2025-03-20 15:47 外卖员跑单组合(回溯) 发布于:2025-03-20 14:35 【洪水救援】(双指针一个指向队头一个指向队尾,判断arr[i]+arr[j]是否大于limit,如果大于就j-- ans++ 否则就i++ j-- ans++) 发布于:2025-03-20 14:14 事件监听时间 发布于:2025-03-19 23:49 堆内存申请(自定义used数组,按照输入把使用过的填false 然后找到连续的true数组,比较,如果和输入大小最接近,返回l) 发布于:2025-03-19 20:02 最远足迹(字符串操作,匹配括号内的数组数据) 发布于:2025-03-19 19:43 倒 N 形走位(逻辑分析:let reverse = true; for (let i = 0; i < x; i++) { let k = i % n; if (k == 0) reverse = !reverse; if (reverse) k = n - 1 - k; matrix[k].push(i + 1); }) 发布于:2025-03-19 19:34 [更多]

作者 Ace(hope)
编辑于:2023-11-14 10:07

heap dddd

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

点击购买 固件广场

yout