All

题目描述

链接: https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/

给定二叉树的根节点root和一个整数目标targetSum, 找出所有从根节点到叶子节点路径总和等于给定目标和的路径

叶子节点是指没有子节点的节点

示例1:

输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22 输出:[[5,4,11,2], [5,8,4,5]]

有两条路径加起来之和等于22

示例2:

img

输入:root = [1,2,3], targetSum = 5 输出:[]

没有符合条件的路径

题目描述

链接: https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/

地上有一个m行n列的二维矩阵, 从坐标[0, 0]到[m-1, n-1]. 一个机器人从坐标[0, 0]的格子开始移动, 每次可以向左, 右, 上, 下移动一格.

不能移动到方格外, 也不能移动到行坐标和列坐标的数位之和大于K的格子. 例如当K=18时, 机器人可以进入方格[35, 37], 因为3+5+3+7=18. 但是不能进入[35, 38], 因为3+5+3+8=19. 求机器人能够到达多少个格子.

题目描述

链接: https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/

输入一个非负整数数组, 把数组里所有数字拼接起来排出一个数, 打印能拼接出的数字中最小的一个.

示例1:

输入: [10, 2]

输出: “102”. 两个数字的排列可能为102, 210. 由于102小, 所以结果为102.

示例2:

输入: [3, 30, 34, 5, 9]

输出: ”3033459“

题目描述

链接: https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/

给定一颗二叉搜索树, 请找出其中第K大节点的值

示例1:

输入: 层序遍历 = [3, 1, 4, null ,2] , k = 1

​ 3

​ / \

​ 1 4

​ \

​ 2

输出: 4, 最大的节点为4

示例2:

输入: 层序遍历 = [ 5, 3, 6, 2, 4, null, null ,1], k = 3

​ 5

​ / \

​ 3 6

​ / \

​ 2 4

​ /

1

输出: 4. 倒数第3个最大节点为4.

题目描述

链接: https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/

从若干幅扑克牌中随机抽5张牌, 判断是不是一个顺子, 即这五张牌是不是连续的. 2~10为数字本身, A为1, J为11, Q为12, K为13. 大小王为0, 并且可以看出任意数字

示例1:

输入: [1,2,3,4,5]

输出: true

示例2:

输入: [0,0,1,2,5]

输出: true. 由于两个0可以代替为3和4, 所以可以构成顺子

GitTag
2022 年 03 月 09 日
Java Class Loader
2021 年 10 月 14 日

Class Loader

站在Java虚拟机的角度来看,只存在两种不同的类加载器:

一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++语言实现,是虚拟机自身的一部分;

另外一种就是其他所有的类加载器,这些类加载器都由Java语言实现,独立存在于虚拟机外部,并且全都继承自抽象类java.lang.ClassLoader。

站在Java开发人员的角度来看,类加载器就应当划分得更细致一些。自JDK 1.2以来,Java一直保 持着三层类加载器、双亲委派的类加载架构,尽管这套架构在Java模块化系统出现后有了一些调整变动,但依然未改变其主体结构。

Java类加载机制
2021 年 10 月 10 日

类加载机制

定义

Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最 终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。

类的生命周期

加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,类型的加载过程必须按 照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始, 这是为了支持Java语言的运行时绑定特性(也称为动态绑定或晚期绑定)。

GC-经典垃圾收集器
2021 年 09 月 25 日

经典垃圾收集器

Serial收集器

Serial收集器是最基础、历史最悠久的收集器. 这个收集器是一个单线程工作的收集器, 在他进行垃圾收集时, 必须暂停其他所有工作线程, 直到它收集结束.

它是HotSpot虚拟机运行在客户端模式下的默认新生代收集器, 它简单高效, 额外内存消耗最少.

GC-垃圾回收算法
2021 年 09 月 20 日

垃圾回收算法

从如何判定对象消亡的角度出发, 垃圾收集算法可以划分为“引用计数器垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)两大类. 这两类也常被称作“直接垃圾收集“和”间接垃圾收集“. 但是引用计数式垃圾收集算法在主流Java虚拟机中均为涉及.