- 博客(31)
- 收藏
- 关注
原创 _206反转链表
/ 当前结点的下一个结点 指向 pre所在的结点。//先保存一下当前指针指向的下一个节点。// 定义指针指向当前结点的前一个结点。public class _206反转链表 {// 定义指针指向当前结点。
2023-03-23 00:05:56 88
原创 _106从中序与后序遍历序列构造二叉树
/ 根节点的右边 = 右子树的中序范围(rootIndex+1,rootIndex),右子树的后序范围(post_start, post_start+leftNum)// 根节点的左边 = 左子树的中序范围(in_start,rootIndex-1),左子树的后序范围(post_start, post_start+leftNum)// 计算一下左子树有多长:根节点的位置-i就是左子树的长度。// xian序: // 9,3,15,20,7,// 在中序遍历中找到根节点的位置。// 构建一个根节点。
2023-03-23 00:04:19 82
原创 _160相交链表
/ 移动完,当fast指向null的时候,让fast再从链表2开始遍历。// 如果两个链表相交,一定在某个结点相等,否则一定会同时指向null。// 这里假设链表1比链表2短,那么fast指针肯定比slow更快的。// ,当slow在链表2遍历完后,也从链表1重新遍历,// 只要两个指针不相等,就一直比较,public class _160相交链表 {// 一个指针指向链表1。// 一个指针指向链表2。
2023-03-23 00:03:19 42
原创 _88合并两个有序数组
/ 比较数组1小于等于数组2,取数组1的值。//数组1的指针往前移动1。//数组2的指针往前移动1。public class _88合并两个有序数组 {// 数组1已经取完了。// 定义一个临时数组。
2023-03-23 00:02:47 50
原创 _105从前序与中序遍历序列构造二叉树
public class _105从前序与中序遍历序列构造二叉树 {// preorder 为空,直接返回 null。//在中序遍历中找到根节点的位置。//递归的构造左子树。//递归的构造右子树。
2023-03-23 00:01:40 38
原创 _72编辑距离
/输入:word1 = "intention", word2 = "execution"// inention -> enention (将 'i' 替换为 'e')// enention -> exention (将 'n' 替换为 'x')// exention -> exection (将 'n' 替换为 'c')// intention -> inention (删除 't')// exection -> execution (插入 'u')public class _72编辑距离 {
2023-03-22 23:59:03 44
原创 _26删除有序数组中的重复项
/输入:nums = [0,0,1,1,1,2,2,3,3,4]public class _26删除有序数组中的重复项 {//输出:5, nums = [0,1,2,3,4]// 两个指针从头部开始,当。// 删除有序数组的重复数字,返回长度。
2023-03-22 23:58:59 43
原创 _25K个一组翻转链表
public class _25K个一组翻转链表 {//找到要反转的子链表的最后一个节点。// 保存子链表的后续链表。// 反转拿到的子链表。
2023-03-22 23:58:28 100
原创 _23合并K个升序链表
/标记是否遍历完所有链表。//存在一个链表不为空,标记改完 false。public class _23合并K个升序链表 {//链表后移一个元素。
2023-03-22 23:57:57 45
原创 _34在排序数组中查找元素的第一个和最后一个位置
public class _34在排序数组中查找元素的第一个和最后一个位置 {//输入:nums = [5,7,7,8,8,10], target = 8。//输出:[3,4]
2023-03-22 23:57:57 48
原创 _33搜索旋转排序数组
/ 如果 nums 中存在这个目标值 target ,则返回它的下标,否则返回 -1。// [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为。// 给你 旋转后 的数组 nums 和一个整数 target ,public class _33搜索旋转排序数组 {
2023-03-22 23:57:22 51
原创 _22括号生成
/输出:["((()))","(()())","(())()","()(())","()()()"]// 左括号的数量小于 n ,生成一个左括号。public class _22括号生成 {//输入:n = 3。
2023-03-22 23:55:18 51
原创 _18四数之和
/ 请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]]//给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。public class _18四数之和 {
2023-03-22 23:53:41 53
原创 _5最长回文子串
/ 外层循环len是字符串长度,第一次遍历字符串长度为1的子串。//最长回文串的起点。//最长回文串的终点。//最长回文串的长度。//拿到本次要计算的字符串的结束位置。// 第二次遍历字符串长度为2的子串。public class _5最长回文子串 {// 字符串开始的下标。
2023-03-22 23:50:41 30
原创 _3无重复字符的最长子串
/第一次d的下标是3,那么left就移动到4去,后面只需要计算i-left后和当前的max进行比较。//"asddvv1"也就是遇到d的时候,我直接移动到第一次d下一个下标。//定义一个map,存的是每个字符最后一次出现的下标。public class _3无重复字符的最长子串 {//遇到重复字符串的时候。
2023-03-22 23:49:33 28
原创 dubbo
去加载dubbo协议的实现类,在getExtension方法里,创建实例的时候为了防止并发,先使用了双重检查锁的单例模式,防止多个线程同时创建接口的扩展实例,这里使用了一个Holder<Object>对象去做加锁的对象,这么做的原因是这个时候还不存在扩展对象的实例,当多个线程加载不同的实例的时候,是可以允许并发,但是加载同一个实例是必须保证是单例的,但是此时实例对象为null,只能为每种实例对象先创建一个Holder对象,用来加锁。当结果返回后,会设置到此 Future,并唤醒阻塞的业务线程;
2023-03-14 09:52:03 199
原创 _18fourSum
return res;i++){continue;j++){continue;left++;right--;left++;right--;left++;right--;return res;
2023-03-13 22:39:34 187
原创 _11maxArea
/给定一个长度为 n 的整数数组 height。有n条垂线,第 i 条线的两个端点是(i, 0)和(i, height[i])。//找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。// 计算面积,高度是长度小的一边决定。// 返回容器可以储存的最大水量。//输入:[1,8,6,2,5,4,8,3,7]
2023-03-13 22:38:31 32
原创 SpringBoot
SpringBoot的jar包启动原理1.首先我们要知道的是,java没有提供标准的方法来加载jar包中的jar包,但是我们的springboot应用一般会引用很多别的jar包,这种jar包我们可以叫做fat jar。2.当我们打一个jar包的时候,jar包中会有个META-INF的文件,这个文件会记录jar包的基础信息,比如Main‐Class,记录了写着main方法的类,springboot打成jar包的时候,这个Main‐Class就是一个叫JarLauncher的类,除此之外,springb
2022-05-28 20:03:23 96 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人