JSRUN 用代码说话
精选js
全部js
树状结构查询(用map模拟树结构,将每一个父亲节点都放到map.get中,然后对map进行dfs遍历)


【数字游戏】(双循环暴力破解)


字符串化繁为简(先对字符串进行预处理:将每一个()内的字母都放入一个集合中,然后把不在()内的字母单独放到一个str中;然后对每一个set进行合并操作:循环这个集合数组,每次进行两两比较,如果这两个集合中的任意一个字母或他对应的大写字母在另一个集合中也出现过,那么这两个集合就能够合并。将合并之后的新集合放到数组中并重新开始循环,直到循环两次后没有任何数组能够合并。集合合并过后就对原字符串进行操作,对每一个字母在集合中进行比对,如果在任意一个集合中,就替换成这个集合中的那个字典排序最小的那个。))(暴力解法75%通过率)


【找单词】(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(','))


文本统计分析(输入处理;转义字符处理;)


最大社交距离(定义一个记录有人的座位序号数组,对于seatOrLeave每一个元素来说,如果为退场,就把这个座位从序号数组中删除,如果是1,首先判断已经坐了几个人,如果只有一个人直接坐到队尾,如果不止一个人,就把seat[]中的相邻两个座位idx拿出来,看这两个区间内有无多余的空座位,如果有空座位,记录当前的最大距离和最佳座位号,遍历seatIdx数组;当队尾位置为空时,需要特殊判断// 如果最后一个位置没人 1 0 0 1 0 0 0,这时的当前最佳座位为队尾,最佳距离为seatNum-1-left,每次循环完成后如果bestIdx>0则放入seatIdx中,每次循环完成后重新排序) ``` ```