摘要: /** * 十分强大的遍历二叉树类 * 该类包含了二叉树的前中后序遍历,分别用递归、迭代、Morris实现 * 以及二叉树的层序遍历,多叉树的前后序遍历,递归、迭代实现,多叉树的层序遍历 * 讲解方面全都在另一个类TreeUtils中呈现 * * @name:TreeTraversal * @aut 阅读全文
posted @ 2022-10-30 20:31 kallenkal 阅读(148) 评论(0) 推荐(0)
摘要: /*566、重塑矩阵*//*思路一: * 判断如果给定的大小与要求不相等说明不能构建等大的数组直接返回原数组 * 创建要求的数组,遍历原数组的同时遍历新数组,填入元素 * */public int[][] matrixReshape(int[][] mat, int r, int c) { int 阅读全文
posted @ 2022-09-16 16:44 kallenkal 阅读(59) 评论(0) 推荐(0)
摘要: /*54、螺旋矩阵*//*思路一: * 我们要设置一个标记来表示邻接的元素是已经走过的,因为题目中给出元素不会超过100,所以走过后将元素改为101 * 根据题意,要先判断右边是否有并且没有走过,有就走右边,否则继续判断下面是否有并且没有走过,有就走下边,否则继续判断上边是否有,有就走上边, * 但 阅读全文
posted @ 2022-09-16 16:43 kallenkal 阅读(26) 评论(0) 推荐(0)
摘要: /*189、轮转数组*//*思路一: * 先把整体reverse,再把前k部分reverse,最后把后n-k部分reverse * 原理是把先把两个部分的相对位置转变,再把两个部分的内部相对位置转变 * 注意:有可能要翻转次数大于数组长度,这样就可能报溢出,比如[-1,-2] 3,但是这样反转三次和 阅读全文
posted @ 2022-09-16 16:43 kallenkal 阅读(43) 评论(0) 推荐(0)
摘要: /*453、最小操作次数使数组元素相等*//*思路一: * 逆向思维,因为每次使n-1个数增加相当于一个数1个数相对减小最终所有元素相等,那么我们就可以每次将数组中最大的数减一, * 这样数组中除最小数外的所有数都有可能轮到自己是最大值,所以只需要将所有除最小值外的数减去最小值再加起来就是要执行的次 阅读全文
posted @ 2022-09-16 16:41 kallenkal 阅读(45) 评论(0) 推荐(0)
摘要: /*453、最小操作次数使数组元素相等*//*思路一: * 逆向思维,因为每次使n-1个数增加相当于一个数1个数相对减小最终所有元素相等,那么我们就可以每次将数组中最大的数减一, * 这样数组中除最小数外的所有数都有可能轮到自己是最大值,所以只需要将所有除最小值外的数减去最小值再加起来就是要执行的次 阅读全文
posted @ 2022-09-13 18:05 kallenkal 阅读(26) 评论(0) 推荐(0)
摘要: /*645、错误的集合*//*思路一: * 创建hash表,如果hash元素为1说明此元素重复,最后遍历一遍hash表,值为0说明缺少此元素 * *//*通过*/public int[] findErrorNums(int[] nums) { int n = nums.length; int[] h 阅读全文
posted @ 2022-09-13 11:28 kallenkal 阅读(48) 评论(0) 推荐(0)
摘要: 很多天没有上力扣刷题了,感觉都生疏很多,今天重新开始,按照https://leetcode.cn/circle/article/48kq9d/帖子刷题加油/*485、最大连续1的个数*//*思路:遍历,判断,比较*//*通过*/public int findMaxConsecutiveOnes(in 阅读全文
posted @ 2022-09-12 13:44 kallenkal 阅读(24) 评论(0) 推荐(0)
摘要: 今天又是灰头土脸的一天,简单题我还思考很长时间构思构思好写代码,咋说呢,思路还好,不算糟糕,但是写起代码来就很迷茫了到最后又是bug改了一个又一个,希望我在慢慢进步吧,遇到不会写的题就看评论,然后默写出来理解透彻,将知识“偷过来”还是递归用的不熟,脑海中没有那种递归的想象递归算法如果掌握好了是非常牛 阅读全文
posted @ 2022-03-06 22:49 kallenkal 阅读(23) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示