算法通关村
weixin_52056811
这个作者很懒,什么都没留下…
展开
-
算法通关村——二分查找
【代码】算法通关村——二分查找。原创 2023-12-17 09:16:40 · 66 阅读 · 1 评论 -
算法通关村——树的算法
这段代码的逻辑问题在于,只判断了当前节点的左右子树的最大深度差是否小于等于1,但没有判断左右子树本身是否是平衡二叉树。,可以通过对每个节点记录其高度的方式来避免重复计算。上面的代码,在每个节点上都进行了。我写了一段错误代码,分享出来。回溯算法的入门,后续补充。本质是层次遍历,计算层数。原创 2023-12-17 08:46:35 · 59 阅读 · 0 评论 -
算法通关村——二叉树的迭代遍历
【代码】算法通关村——二叉树的迭代遍历。原创 2023-12-12 07:50:55 · 62 阅读 · 0 评论 -
算法通关村——树的层次遍历
层次遍历就是,从第一层开始,每一层从左向右遍历第一层只有根节点,只输出根节点,之后进入第二层从左向右遍历难点在于,在二叉树中,左孩子和右孩子两个节点无法直接相互访问到。也就需要一个队列来帮助遍历。红框里面就是用队列辅助层次遍历。原创 2023-12-11 09:39:04 · 64 阅读 · 0 评论 -
算法通关村第六关——用遍历恢复二叉树
那么通过前序遍历、或者后序遍历,就可以确定中序遍历序列中,哪个是根节点,即可得到左右子树,左右子树用同样的方法找根节点。即可得到。原创 2023-11-12 11:39:32 · 54 阅读 · 0 评论 -
算法通关村第五关——LRU实现
最近最少使用缓存。原创 2023-11-09 20:47:12 · 64 阅读 · 0 评论 -
算法通关村第五关——队列、栈和哈希的经典题目
用两个栈实现先进先出队列。入队:元素入栈stackA,stackB不作为存储出队:将stackA所有元素出栈,stackA出栈元素作为stackB入栈元素,stackB的栈顶元素即为要出队的元素这边出现一个问题,要去复习Deque和LinkedList的继承关系这方面内容。原创 2023-11-06 17:20:04 · 57 阅读 · 0 评论 -
算法通关村第五关——hash基本问题
java的集合部分内容,视频链接如下。原创 2023-10-31 20:02:55 · 51 阅读 · 0 评论 -
算法通关村第四关——用栈实现计算器
题目给的是中缀表达式,很难转换成逆波兰表达式,所以还是要使用中缀表达式的形式解决。这题我有印象,逆波兰表达式,数据结构书上写过的。但是这题更简单一些,不需要处理括号。原创 2023-10-30 17:04:17 · 54 阅读 · 0 评论 -
算法通关村第四关——白银栈的经典问题
栈的简单应用每个括号设置一个栈,遇到左括号入栈,遇到又括号出栈。最后判断三个栈同时为空,即为有效括号,否则无效(这个思路出问题了,([)]会被判定为正确)错误代码如下用一个栈,丑陋的代码优雅代码如下。原创 2023-10-30 15:45:47 · 52 阅读 · 0 评论 -
算法通关村第四关——实现栈
先进后出(FIFO)原创 2023-10-29 10:52:35 · 47 阅读 · 1 评论 -
算法通关村——第三关黄金挑战
异或运算0^a = a异或运算具有交换性换言之,起始用0去顺序异或所有元素,出现两次的值都会被异或为0,最终得到的值,即为只出现一次的值。原创 2023-10-28 16:35:31 · 48 阅读 · 1 评论 -
算法通关村——第二关双指针妙用
这里摒弃了删除一个元素,就将后面所有元素前移的方法left指向的位置是可能会填入值的位置的前一个位置right指向是位置是待判断的值:如果值不等于val,则需要填入(left需要自加),否则继续后移答案写法。原创 2023-10-27 16:51:36 · 54 阅读 · 1 评论 -
算法通关村第三关——数组不简单的增删改查
这里我自己完成了一些leetcode中的增删改查题目,或者重新写了一遍。原创 2023-10-24 11:20:07 · 76 阅读 · 1 评论 -
算法通关村第二关——链表反转进阶
这题思路很容易,但是实现起来会有一些边界问题,本质还是要搞清楚反转。准备有空再想一想反转,还是没有完全掌握。这是遇到的第一道困难题。原创 2023-10-23 18:51:19 · 104 阅读 · 1 评论 -
算法通关村第二关——链表反转等问题
第一反应,拆开成三个链表(有可能是两个或者一个),指定区域反转之前做过反转,这次就属于只是设置一个范围,固定好两侧链表的指针,对中间区域做头插法em自己按照这个思路,搞了四十分钟。。。没搞出来,边界问题太多,中间还出现了有环的情况。作为目前第一道完全没搞出来的题目,我真是彩笔,要仔细想想这题了。原创 2023-10-23 11:26:12 · 120 阅读 · 1 评论 -
算法通关村第二关——终于学会链表反转了
leetcode206题。原创 2023-10-21 15:25:22 · 154 阅读 · 1 评论 -
算法通关村第一关——链表中环的问题
第一反应是用哈希表,遍历节点,加入哈希表并判断哈希表中是否已经存在该节点,若存在,则有环,返回true看资料,发现快慢指针也可以做。个人理解:如果链表中存在环,就类似于有个通道通向操场,两个指针就像跑得快的人和跑得慢的人,只要进了四百米跑道,快指针早晚把慢指针套圈。存在一个我自己的误区,我认为判断slow和fast是否重合的过程中,可能会出现两个指针刚好错过的情况。但是实际上不会出现。原创 2023-10-20 16:42:54 · 247 阅读 · 1 评论 -
算法通关村第一关——链表经典问题第一公共节点等
第二个想法:快慢指针,让快指针先出发,遍历到第k个节点,然后慢指针开始遍历(同时快指针也继续向前),模拟一下,当快指针指向null时,慢指针刚好指向倒数第k个节点。先分解一下,向右移动k个位置,第一步要先找到倒数第k个节点,第二步把倒数第k个节点变成头节点:把倒数第k-1个节点的next指向空,把最后一个节点的next指向原头节点。稍微模拟一下,会发现:节点个数为偶数时,快指针指向null时,慢指针指向中间节点(第二个中间结点),而奇数个节点时,快指针指向最后一个节点时,慢指针指向中间节点。原创 2023-10-19 22:27:06 · 229 阅读 · 1 评论 -
算法通关村第一关——链表青铜挑战笔记
/设置为私有变量,更符合封装的要求//JVM会将指针设置为空,其实不需要再写。原创 2023-10-16 22:57:41 · 415 阅读 · 1 评论