周一pro

1
获赞数
0
关注数
3
粉丝数
IP 属地四川
2021-11-25 加入
浏览 7.5k

你好,周一

6 声望
贪心算法
5
leetcode
5
数据结构
5
算法
5
java
5
黄金勋章
暂未获得该勋章
如何获得
白银勋章
暂未获得该勋章
如何获得
1 青铜勋章
个人动态
  • 发布了文章2022-01-29
    动态规划
    前一篇我们仔细聊了聊递归,如果大伙都仔细敲了相关代码,没有收获那是不可能的。同时敏锐的伙伴可能也发现了,接下来我们要说啥了——动态规划,对,终于终于我们聊到动态规划了。
  • 发布了文章2022-01-28
    从 最具启发性的汉诺塔问题开始 聊递归
    有三根杆子A,B,C。A杆上有 N 个 (N>1) 穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至 C 杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。
  • 发布了文章2022-01-27
    图的关键算法
    图(Graph)是用于表示物体与物体之间存在某种关系的结构。数学抽象后的“物体”称作节点或顶点(Vertex,node或point),节点间的相关关系则称作边。在描绘一张图的时候,通常用一组点或小圆圈表示节点,其间的边则使用直线或曲线。
  • 发布了文章2022-01-26
    并查集练习——LeetCode200 岛屿数量
    岛屿数量1、题目描述LeetCode200: [链接]给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。2、示例输入...
  • 发布了文章2022-01-24
    并查集
    通俗的说,并查集是一种数据结构,指在一些有N个元素的集合应用问题中,通常在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。用于处理一些不相交集合的合并及查询问题。
  • 发布了文章2022-01-23
    贪心算法(2):金条切割问题、点灯问题、IPO问题
    一块金条切成两半,是需要花费和长度数值一样的铜板的。比如长度为20的金条,不管怎么切,都要花费20个铜板。一群人想整分整块金条,怎么分最省铜板?输入一个数组,返回分割的最小代价。
  • 发布了文章2022-01-21
    贪心算法
    二叉树的递归套路暂时先告一段落了,今天来聊聊贪心算法。一、什么是贪心算法1、最具自然智慧的算法用最普通的思维就能想到的解决方法。 2、用一种局部最功利的标准,总是做出在当前看来是最好的选择3、难点在于证明局部最功利的标准可以得到全局最优解4、对于贪心算...
  • 发布了文章2022-01-20
    二叉树递归套路(4):最低公共祖先、派对的最大快乐值
    今天继续二叉树的递归套路。一、最低公共祖先给定一个二叉树的头节点,和另外两个节点a、b,返回a、b的最低公共祖先。最低公共祖先定义:a、b往上找,第一个相同的祖先(这个公共祖先也可能是a或b自己)1、递归套路思路对于二叉树中的任意一个节点X,以及两个节点a、...
  • 发布了文章2022-01-19
    二叉树递归套路(3):判断是否是满二叉树、最大子搜索二叉树的节点数
    也就是每次从左子树和右子树中我们都需要 高度、节点数 两个数据,最后再根据高度和节点数的关系判断是否是满二叉树。所以可以定义如下的Info类
  • 发布了文章2022-01-18
    二叉树递归套路(2):判断二叉树是否是搜索二叉树、二叉树的最大距离
    本篇继续来聊聊二叉树的递归套路。一、判断二叉树是否是搜索二叉树搜索二叉树定义:二叉树中的任意一个以X为头的子树,左子树都比X小,右子树都比X大。(经典的搜索二叉树是没有重复值的)1、经典做法中序遍历,结果是递增的,说明这是搜索二叉树。2、递归套路思路分...
  • 发布了文章2022-01-17
    二叉树递归套路:判断二叉树是否是完全二叉树、判断二叉树是否是平衡二叉树
    二叉树的基本套路我们已经很熟悉了,接下来我们聊聊二叉树的递归套路,可以解决面试中绝大多数的二叉树问题,尤其是树型dp问题,其本质是利用递归遍历二叉树的便利性。
  • 发布了文章2022-01-15
    查询后继节点、纸条折痕问题
    一、查询后继节点后继节点:中序遍历时,某个节点的后一个节点即是该节点的后继节点。规定二叉树的结构如下: {代码...} 如何快速的找到某个节点的后继节点1、思路1、按照后继节点的定义来查找某个节点的后继节点即按中序遍历此二叉树,再查找指定节点的后继节点。时...
  • 发布了文章2022-01-14
    求二叉树最宽的层有多少个节点
    (1)准备currentLevelEnd(表示当前层的结束节点)、nextLevelEnd(表示下一层的结束节点)、currentWeight(表示当前层的宽度)、maxWeight(表示最大宽度)四个变量。
  • 发布了文章2022-01-13
    二叉树的序列化和反序列化
    序列化(serialization)是指将数据结构或对象状态转换成可取用格式(例如存成文件,存于缓冲,或经由网络中发送),以留待后续在相同或另一台计算机环境中,能恢复原先状态的过程。依照序列化格式重新获取字节的结果时,可以利用它来产生与原始对象相同语义的副本。
  • 发布了文章2021-12-20
    二叉树基本算法
    二叉树(英语:Binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒。更多解释,详见堆和堆排序。
  • 发布了文章2021-12-18
    JVM常见的垃圾回收算法
    算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象。标记过程就是对象是否属于垃圾的判定过程。
  • 发布了文章2021-12-16
    有环或无环单链表的相交问题
    关于求有环无环单链表相交的问题,是链表类型题目中数一数二的难题,且听一一道来。一、题目描述给定两个可能有环也可能无环的单链表,头节点head1和head2。请实现一个函数,如果两个链表相交,请返回相交的第一个节点。如果不相交,返回null要求:如果两个链表长度...
  • 发布了文章2021-12-15
    JUC常见的锁
    一、AtomicInteger {代码...} 1、底层实现CAS(Compare And Swap/Set)无锁优化、乐观锁cas(V, Expected, NewValue)if V == EV = Newotherwise try again or failV:要改的值Expected:期望当前这个值是多少NewValue:要设置的新值比如要改的值是3(即最开始拿到的这...
  • 发布了文章2021-12-13
    复制带随机指针的链表
    构造这个链表的深拷贝。深拷贝应该正好由 n 个 全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向...
  • 发布了文章2021-12-11
    聊聊volatile
    main线程和T线程共享堆内存的数据;main和T也有自己的工作空间,当要访问共享内存的数据flag,会把共享内存的flag复制一份到自己的工作空间中。