自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 代码随想录算法训练营第 17 天(树5)| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

关键思路:中序遍历,如果遍历的过程中碰到有子树不是二叉搜索树的情况,这棵树就不是二叉搜索树。关键思路:直接在root1树上进行修改,不用多分配内存空间,且用的是前序遍历。关键思路:构造二叉树都是前序遍历,因为要先把根构造出来。关键思路:二叉搜索树自带顺序,不用考虑前中后序选哪个。

2025-01-24 11:46:10 132

原创 代码随想录算法训练营第 16 天(树4)| 513.找树左下角的值、112. 路径总和i ii、106.从中序与后序遍历序列构造二叉树

offer()是 Queue 接口的一个方法,用于将一个元素插入到队列的尾部。此题用前序后序中序都可以,因为没有对根节点有操作,只要保证先是左再是右就行。关键思路:逐步递减,最后总和是0,且是叶子节点,就是有。关键思路:这个题使用层序遍历(迭代法)更容易一些。先求出深度最大的一层,然后找这一层最左边的节点。然后在中序中切割前半(左子树)和后半(右子树)根据前或后序找根节点;

2025-01-23 12:13:55 212

原创 代码随想录算法训练营第 15 天(树3)| 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数

递归,从最下面的节点,依次判断其左右子树的高度,大于1就返回-1,小于1就返回当前值中大的加1就是此节点的高度。1、递归函数参数以及返回值:TreeNode,以及用来保存的数组,以便下次递归使用。此题特殊在:要通过父节点去判断,我们当前收集的节点是不是符合题意的节点。左叶子的定义:首先他必须是个叶子,接着他必须是其父节点的左节点。,这会导致不必要的节点访问,增加了时间复杂度。你在计算完全二叉树的节点数时,使用了。:向左遍历的深度和向右遍历的深度相等。是左移操作符,实际上应该是。,因为完全二叉树的节点数是。

2025-01-22 15:34:08 406

原创 代码随想录算法训练营第 14 天(树2)| 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

讲解:https://programmercarl.com/0111.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E6%B7%B1%E5%BA%A6.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE。讲解:https://programmercarl.com/0101.%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91.html。

2025-01-21 13:31:41 674

原创 代码随想录算法训练营第13天(树1)| 二叉树理论基础篇、二叉树的递归遍历(递归法)、 、二叉树层序遍历

题目:讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE一、二叉树的种类满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树(AVL)1、满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。

2025-01-20 13:51:21 602

原创 代码随想录算法训练营第 9 天(字符串2)| 151.翻转字符串里的单词 卡码网55.右旋转字符串 KMP(跳过) 总结

反转系列当需要固定规律一段一段去处理字符串的时候,要想想在for循环的表达式上做做文章。先整体反转再局部反转双指针法双指针法在数组,链表和字符串中很常用。使用双指针来提高效率,一般是将O(n^2)的时间复杂度,降为OnO(n)On。

2025-01-16 14:51:40 663

原创 代码随想录算法训练营第 8 天(字符串1)| 344.反转字符串 541. 反转字符串II 卡码网54.替换数字

两个元素换位置,不用额外的内存空间,可以考虑下异或运算。

2025-01-15 17:06:20 790

原创 代码随想录算法训练营第 7 天(哈希表2)| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

视频:https://www.bilibili.com/video/BV1Md4y1Q7Yh讲解:https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html不需要去重,因为取自的数可能不是同一个,HashMap不能去重 (HashSet可以去重)| 数组,set,map选型:因为字母异位词那道题,元素数量是有限的,所以用数组但是这道题元素数量很多,所以用set或者map。

2025-01-14 19:01:09 1054

原创 代码随想录算法训练营第 5 天(哈希表1)| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

242.有效的字母异位词当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法数据小用数组,数据大用set,数据比较散用map。

2025-01-13 18:40:01 1311

原创 代码随想录算法训练营第 4 天(链表 2)| 24. 两两交换链表中的节点19.删除链表的倒数第N个节点 -

注意操作的顺序:① dummy->2② 2->1③ 1->3注意:1、定义完虚拟头结点之后,记得连在头结点之前;2、fast 和 slow 指针放在循环中,用cur同时定位slow和fast的相对位置,省了每次定位 fs 两个指针的代码;3、这里不能写成 ||,因为写成 || 节点是奇数个就无法判断到后面的条件只要cur.next或中有一个不为null,循环就会继续。这意味着即使cur.next为null,只要不为null,循环仍然会继续,这会导致,因为你试图访问null的next属性。

2025-01-12 23:49:03 975

原创 代码随想录算法训练营第3天(链表1)| 203.移除链表元素 707.设计链表 206.反转链表

1、虚拟头结点:如果想要针对不同位置(头与非头结点)的节点用相同的处理办法,可以考虑虚拟头结点,对所有节点一视同仁。2、双指针:节省空间3、注意几个调整动作的先后顺序,防止指针丢失的结果。

2025-01-12 00:07:26 413

原创 代码随想录算法训练营第1天(数组1)| 704. 二分查找、27. 移除元素、977.有序数组的平方

二分查找前提:有序,无重复二分法区间有两种:左闭右闭[left, right],左闭右开 [left, right)这个题的关键是:边界的处理三个变量:left, right,middle< or <=right)—>看是否合法左闭右闭(<=) or 左闭右开(<),这两种方式怎么取值,主要取决于区间是否成立(把=单拎出来看情况是否合法)[left, right] [3,3] 合法[left, right) [3,3)不合法---->看是否比较过。

2025-01-08 22:57:53 813

原创 【黑马】MyBatis

是一款持久层框架,用于简化JDBC开发持久层就是负责将数据保存到数据库的那一层代码JavaEE三层架构:表现层、业务层、持久层表现层负责做页面展示的,业务层做逻辑处理,持久层对数据进行持久化框架框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型在框架的基础上构建软件编写更加高效、规范、通用、可扩展。

2024-08-08 21:46:37 938

原创 【狂神】多线程(含内部类、Lambda)

多个线程操作同一个资源并发:同一个对象被多个线程同时操作处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象这时候我们就需要线程同步。线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用实现同步需要队列和锁线程同步在这里举三个例子来展示线程的三大不安全案例一:三个人抢10张票案例二:两个人取钱案例三:创建10000条线程。

2024-08-01 00:33:36 918

原创 【黑马java基础】单元测试、反射、注解

先来认识一下什么是注解?Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。比如:Junit框架的@Test注解可以用在方法上,用来标记这个方法是测试方法,被@Test标记的方法能够被Junit框架执行。再比如:@Override注解可以用在方法上,用来标记这个方法是重写方法,被@Override注解标记的方法能够被IDEA识别进行语法检查。注解不光可以用在方法上,还可以用在类上、变量上、构造器上等位置。

2024-08-01 00:20:24 738

原创 【黑马java基础】网络通信

可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。java提供了java.net.*包下提供了网络编程的解决方案通信的基本架构主要有两种形式:一种是CS架构(Client 客户端/Server服务端)、一种是BS架构(Brower 浏览器/Server服务端)。**BS架构的特点:**BS架构不需要开发客户端软件,用户只需要通过浏览器输入网址就可以直接从服务器获取数据,并由服务器将数据返回给浏览器,用户在页面上就可以看到各种数据了。

2024-08-01 00:07:40 943

原创 【黑马java基础】多线程

线程安全问题指的是,多个线程同时操作同一个共享资源的时候,可能会出现业务安全问题。比如:取钱的线程安全问题(场景:小明和小红是一对夫妻,他们有一个共同的账户,余额是10万元,如果小明和小红同时来取钱,并且2人各自都在取钱10万元,可能会出现什么问题呢?①小明线程步骤一先判断余额是否够,够②小红线程步骤一先判断余额是否够,够③因为小明线程判断够,所以银行吐出10万④银行账户更新为0元⑤因为小红线程判断够,所以银行吐出10万⑥银行账户更新为-10万元结果:2人都取钱10万,银行亏了10万。

2024-07-25 08:57:59 658

原创 【黑马java基础】特殊文件,日志

XML( 全称EXtensible Markup Language, 可扩展标记语言 )可扩展的意思就是里面的标签可以自己定义。本质是一种数据的格式,可以用来存储复杂的数据结构,和数据关系。XML的特点XML中的“<标签名>” 称为一个标签或一个元素,一般是成对出现的。XML中的标签名可以自己定义(可扩展),但必须要正确的嵌套。XML中只能有一个根标签。XML中的标签可以有属性。如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。XML的创建。

2024-07-23 22:58:04 1081

原创 【黑马java基础】IO流

ASCII(American Standard Code for Information Interchange): 美国信息交换标准代码,包括了英文、符号等。标准ASCII使用1个字节存储一个字符,首尾是0,总共可表示128个字符,对美国佬来说完全够用。汉字编码字符集,包含了2万多个汉字等字符,GBK中一个中文字符编码成两个字节的形式存储。汉字的第一个字节的第一位必须是1。注意:GBK兼容了ASCII字符集。Unicode是国际组织制定的,可以容纳世界上所有文字、符号的字符集。

2024-07-22 16:53:36 331

原创 【黑马java基础】Lamda, 方法引用,集合{Collection(List, Set), Map},Stream流

集合的并发修改异常:就是使用迭代器遍历集合时,又同时在删除集合中的数据,程序就会出现并发修改异常的错误。list.add("王麻子");list.add("小李子");list.add("李爱花");list.add("张全蛋");list.add("晓李");list.add("李玉刚");// [王麻子, 小李子, 李爱花, 张全蛋, 晓李, 李玉刚]//需求:找出集合中带"李"字的姓名,并从集合中删除if(name.contains("李")){

2024-07-19 16:32:51 1214

原创 狂神——JVM

从两个维度:内存效率、内存整齐度、内存利用率进行比较内存效率(内存碎片多不多):复制算法>标记清除算法>标记压缩算法(时间复杂度)内存整齐度:复制算法 = 标记压缩算法 > 标记清除算法内存利用率:标记压缩算法 = 标记清除算法 > 复制算法没有最好的算法,只有最合适的算法,所以GC也被称为分代收集算法存活率较低,所以在这个区域更适合用复制算法!老年代区域大,存活率较高。所以更适合用标记清除(如果内存碎片不是太多就可以使用)+ 标记压缩混合(内存碎片达到一定量级的时候就压缩)实现。

2024-07-12 21:53:08 850

原创 【黑马Java基础】正则表达式+异常

Java无法为这个世界上全部的问题都提供异常类来代表,如果企业自己的某种问题,想通过异常来表示,以便用异常来管理该问题,那就需要自己来定义异常类了。自定义异常种类:自定义运行时异常//保存一个合法的年龄try {System.out.println("底层执行成功!");System.out.println("底层出现了bug");System.out.println("年龄被成功保存:" +age);}else {//用一个异常对象封装这个问题。

2024-07-09 15:24:39 622

原创 代码随想录算法训练营第四天 | LeetCode24.两两交换链表中的节点 、19.删除链表中的倒数第N个节点 、面试题 02.07. 链表相交、142.环形链表II

文档讲解:https://programmercarl.com/0019.%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E5%80%92%E6%95%B0%E7%AC%ACN%E4%B8%AA%E8%8A%82%E7%82%B9.html。快慢指针法:分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。在你的代码中,具体的错误发生在。

2024-07-07 21:48:42 1134 1

原创 代码随想录算法训练营第三天 | LeetCode203.移除链表元素 、707.设计链表、206.反转链表

文档讲解:https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html。文档讲解:https://programmercarl.com/0707.%E8%AE%BE%E8%AE%A1%E9%93%BE%E8%A1%A8.html。再定义一个pre,指向head前的节点,也就是NULL,还要设置个指针temp,保存cur->next;链表长度不固定,适合数据量不固定,查少,增删多的场景。

2024-07-06 21:46:15 659

原创 代码随想录算法训练营第二天 | LeetCode 977. 有序数组的平方、209. 长度最小的子数组 、59.螺旋矩阵Ⅱ

文档讲解:https://programmercarl.com/0209.%E9%95%BF%E5%BA%A6%E6%9C%80%E5%B0%8F%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84.html。文档讲解:https://programmercarl.com/0977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E5%B9%B3%E6%96%B9.html。虽然是两层循环,但是时间复杂度是看每个元素被操作的次数。

2024-07-05 21:27:51 332

原创 代码随想录算法训练营第一天 | LeetCode704. 二分查找、27. 移除元素

文档讲解:https://programmercarl.com/%E6%95%B0%E7%BB%84%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html。文档讲解:https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html。也可以用双向指针,left和right,left找到之后将right赋给left,left++,最后返回left的值,就是新数组的长度。数组的元素不能删除,只能覆盖。

2024-07-03 16:44:02 849

原创 Redis(部分操作+八股)

邀请你加入MindMaster协同版文件“Redis”一起协作。

2024-06-27 17:11:03 145

原创 MySQL脑图(操作+八股)

邀请你加入MindMaster协同版文件“Mysql”一起协作。

2024-06-27 17:10:03 116

原创 【黑马Java基础】3、内部类、枚举、泛型

内部类是五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。定义类、接口、方法时,同时声明了一个或者多个类型变量(如:),称为泛型类、泛型接口,泛型方法、它们统称为泛型。应用场景:当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类。内部类有四种形式:成员内部类、静态内部类、局部内部类、匿名内部类。就是类中的一个普通成员,类似前面学到的普通的成员变量、成员方法。匿名类是一个子类,同时也是一个子类对象。

2024-05-18 16:30:23 283

原创 【黑马Java基础】2、3个OOP,API

就是用类设计对象处理某一个事物的数据时,应该把处理的数据,以及处理这些数据的方法,设计到一个对象中去。当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称、参数列表一样的方法,去覆盖父类的这个方法,这就是方法重写。重写后,方法的访问,Java会遵循就近原则b.print1();//方法重写//响应结果:666666666666多态是在继承/实现的情况下的一种现象,表现为:对象多态、行为多态(变量不多态,运行谁就是谁)多态的前提:有继承、实现。

2024-05-18 16:08:41 949

原创 【黑马Java基础】1、数组,方法

定义数组时直接给数组赋值//正常版本//简化版本什么类型的数组只能存放什么类型的数据。计算机中的程序都是在内存中执行的,计算机遇到代码之后会在内存中开辟一块空间,但暂时不装东西,会等到等号右边的东西进来。右边的代码也会新开辟一块区域,分三块存储(12,24,36)。然后右边会把数组地址交给左边的数组变量,用数据变量指向数组,然后进行访问。对象可以理解为就是个东西//响应结果//[代表是数组的地址,I代表是Int类型数组,@在哪个地址,在afb5f4df这个地址注意。

2024-01-20 22:07:11 603

原创 Oracle新建用户并赋予查询另⼀个用户所有表的权限

Oracle新建用户并赋予查询另⼀个用户所有表的权限

2023-03-14 21:49:43 4184

原创 修改MySQL系统密码

修改MySQL系统密码

2023-02-13 21:36:47 134 1

原创 连接远程服务器中的MySQL报错

连接远程服务器中的MySQL报错

2023-01-30 10:20:28 327

原创 goods项目的坑

1.找不到UserMapper错误显示:(控制台)org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)解决方案:5:随意在xml文件中加一个空格或者空行然后保存(触发了ide的自动编译功能。由于xml文件在编译的时候,不一定总能立即从源目录复制到class文件的编译目录(MyEclipse经常出这个问题),有时候你源目录中的xml文件已经修改好了,而class所在的目录里面还是旧的。因此真正确

2022-05-23 14:50:47 175

原创 javaweb01-基本概念

javaweb

2022-05-23 14:48:51 399 1

原创 Oracle·studynote

Oracle数据库是一种网络上的数据库,它在网络上支持多用户,支持服务器、客户端等部署(或配置)

2022-01-07 15:08:47 553

原创 【狂神说Java】2021-04-02学习笔记:HTML5完整教学通俗易懂

一、W3C标准W3C标准包括:结构胡标准语言(HTML、XML配置文件)表现标准语言(CSS)行为标准(DOM文档对象模型、ECMAScript)DOCTYPE告诉浏览器,要使用什么规范二、网页的基本标签标题标签: 至六级段落标签:换行标签 :水平线标签:字体样式标签:粗体 斜体注释和特殊符号: 注释:空格:&nbsp; 大于号:&gt; 小于号:&lt; 版权符:&copy;三、

2021-04-03 15:23:01 294

原创 【狂神说Java】2021-03-26学习笔记:异常

1.什么是异常2.异常体系结构3.java异常处理机制4.处理异常5.自定义异常6.总结什么是异常实际生活中,遇到的情况不可能是完美的。比如:你写的模块用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或者文件格式不对;你要读取数据库的数据,数据可能是空的;我们的程序在跑着,内存或硬盘可能满了。等等……软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是Exception,意思是例外。异常是指程序运行中出现的不期而至的各种状况,如:文件找

2021-03-26 15:42:55 142

原创 【狂神说Java】2021-03-18学习笔记:面向对象

面向对象编程(OOP)1.初识面向对象2.方法回顾和加深3.对象的创建分析4.面向对象的三大特性5.抽象类和接口6.内部类及OOP实战初识面向对象面向过程&面向对象面向过程思想(线性思维):步骤清晰简单,第一步做什么,第二步做什么……面对过程适合处理一些较为简单的问题面向对象思想(分类思维):物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协

2021-03-16 16:12:25 325

黑马MyBatis(配套源码)

http://t.csdnimg.cn/fAEpc

2024-08-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除