飘过的小牛
飘过的小牛
全部文章
题解
归档
标签
去牛客网
登录
/
注册
飘过的小牛的博客
全部文章
/ 题解
(共10篇)
机器人的运动范围
这中类型的题主要是考察 图搜索,一般都是用类似 dfs,bfs 的尝试算法,其实某种程度上算是穷举法,这个比直接暴力可能要节约一点时间,但是dfs的递归调用栈内存也是不好扛的。,,虽然一开始我是想用 bfs 的,但是发现还要用个数据结构来存每一层的点的坐标。所以写成 dfs,,,,可能有点晕,,,把...
剑指offer
2021-03-08
0
698
二叉树按行打印
原来真的有,,,,把刚刚之字形打印的代码改一个地方就可以了,就是不用翻转了 public class Solution { public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayLis...
剑指offer
2021-03-08
1
535
之字形打印
本题考查树的 BFS.BFS就是一层一层的遍历,我们用队列实现。一个队列的话我们没有层次的限制,直到这个队列为空,说明我们遍历完了。但是现在我们要记录下每一层的节点。相当于问题转为给定一棵二叉树,麻烦打印一下第n层的所有节点。所以为了让每一层都有明显的分开,我们用两个队列来实现互相保存。 之字形的话...
剑指offer
2021-03-08
0
486
对称的二叉树
之前有题是判断是否是镜像树,我一看,,,对称和镜像好像是有点关系,大概就是把根节点拎出来后,左右子树互为镜像的样子,这样就把问题转为判断左右子树是否互为镜像树的问题了。 public class Solution { boolean isSymmetrical(TreeNode pRoot...
剑指offer
2021-03-08
0
532
删除链表中重复的结点
本题主要是考链表的操作,对链表的熟悉度。存数据结构的内容 本题目的关键:题目中说到是排序数组,我们可以根据链表特点找到相等的这一串节点,我们只要2找到最后一个相等的节点就好了。直接把指针移到这个节点后面去,打完收工,不能一个一个的删,但是问题又来了,,,第一个节点和第二个节点相同怎么删啊,,,,构造...
剑指offer
2021-03-07
0
471
链表环的入环节点
主要是 第一次相遇节点开始走D=(n-1)(s1+s2)+s1,,,,,,,n=1时,D=s1 ,所以从第一次相遇时,快指针已经绕了环一圈,而这时再从第一次相遇的节点开始,一个指针在链表头,一个指针在第一次相遇的节点,当这两个指针第一次相遇时的节点就是入环节点 可读代码: public ListNo...
剑指offer
2021-03-07
0
674
构建乘积数组
上三角和下三角,这个思路比较有意思,其实正常的逻辑是遍历数组然后跳过某些值,但是这样的循环很烦躁,太暴力了,时间是 n^2,现在有一种n的循环,只用遍历两次,前半部分分别算,后半部分分别算,保存起来再合并不就完美了 清晰思路代码: public int[] multiply(int[] A) { ...
剑指offer
2021-03-07
0
544
把字符串转换成整数
比较冗长,但是要可读性强就可以了 public int StrToInt(String str) { if(str==null || str.length()==0){ return 0; } char [] chars=str.toCharArray(); ...
剑指offer
2021-03-07
0
575
做加法
//相当于是把加法变成了两部分,一部分是直接得出了无进位的值 a ,另一部分是进位 b,我们的最终目的是把 a 和 b 合起来得到最终的结果,但是a 和 b 得到最终结果的过程又是一次加法。 //于是加到最后进位为0,就是说没有进位了,a 就是我们想要的结果。加法能做,那么减法,,乘法是不是也就可以...
剑指offer
2021-03-07
0
500
孩子们的游戏
两个环,一个是 arrayHelper 维护的遍历真实数组的环,一个是 countOfChild 报数的环 //有两个环,这两个环会搞混,这样就蒙了, 有一个一直向前的指针 i ,这个是遍历数组的,只和n有关系,然后还有一个与m有关的环计数器,主要是表演就是她,每次环到了时候要做很多的工作...
剑指offer
2021-03-07
0
614