绿糖
绿糖
全部文章
分类
题解(9)
归档
标签
去牛客网
登录
/
注册
绿糖的博客
全部文章
(共9篇)
题解 | #矩阵的最小路径和#
主要思想: 因为只能向右移动和向下移动 到达位置[i][j]的最小路径和一定是到达它左边位置[i][j-1]的路径和到达它上边位置[i-1][j]的路径和中最小的路径和再加上[i][j]的数。 即状态转移方程为: dp[i][j]=min(dp[i][j-1],dp[i-1][j])+dp[i,j]...
C++
2022-04-26
0
358
题解 | #调整数组顺序使奇数位于偶数前面(二)#
双指针 主要思想:一个奇数的指针指向首向后扫描,一个偶数的指针指向尾向前扫描,当奇数指针指向偶数、偶数指针指向奇数时,交换两方的元素,继续扫描。 时间复杂度:O(N) 空间复杂度:O(1) * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @para...
Javascript Node
2022-04-17
0
429
题解 | #二叉树中和为某一值的路径(一)#
主要思想:根据题可知是由根节点到叶子节点,根左右及根右左都可,那么我采用前序遍历(根左右)来寻找路径,当sum减去当前节点值以及子节点均为null时返回真值,而当root为null时返回假值,那么只要递归前序遍历树,返回左右子树真假值的‘或’结果即可。 * function TreeNode(x)...
Javascript Node
2022-04-16
0
300
题解 | #左旋转字符串#
方法一: 时间复杂度: O(1) 空间复杂度: O(1) 主要思想:算出字符串需要偏移的长度,然后利用字符串的slice方法拼接返回。 { if(str===null) return ''; let l=str.length; let offset=n>l?n%l:n;...
Javascript Node
2022-04-15
0
332
题解 | #替换空格#
解题思路:JS中的string有replace方法,不过局限是当出现连续空格时只会替换一个,因此需要先将输入s转换成数组,然后用map遍历s中的每一个空格替换成%20然后再拼接。 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s s...
Javascript Node
2022-04-12
0
350
题解 | #二叉树的深度#
后序遍历取左右子树最大值即可。 this.val = x; this.left = null; this.right = null; } */ function TreeDepth(pRoot) { if(pRoot==null) return 0; retu...
Javascript Node
2022-04-08
0
318
题解 | #拼接所有的字符串产生字典序最小的字符串#
主要思想是:通过sort()自定义回调函数,通过a+b>b+a比较a字符串与b字符串组合后字典序的大小进行排序,加入a+b>b+a,则返回1,调换a与b的顺序,反之返回-1,不作调换 let c=new Array().fill(''); while(nn!=0){ c.push...
Javascript V8
2022-03-27
0
457
题解 | #字符串匹配#
主要思想:遍历a,将匹配b的a的子序列加入到set中,最后返回set的大小即可 let bb=readline();let as=new Set(); let l=0;//这里是需要l来记录a的子序列开始位置,这个子序列无论是匹配成功还是匹配失败,下一个子序列的开头都是a的第l+1 for(let ...
Javascript V8
2022-03-27
1
562
题解 | #字符串组合#
主要思想:从子序列长度1(flag==1,左指针=0,右指针=flag-1)开始遍历寻找相邻子序列,将找到的子序列push进临时数组中,当一轮结束后用sort()将临时数组排序,再将临时数组中的项依次加入set中去重,然后将长度加1(flag++,左指针=0,右指针=flag-1),循环直至(左指针...
Javascript V8
2022-03-27
0
499