自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一条sql语句在mysql中如何执行

1.mysql的基本框架: 连接器: 身份认证和权限相关(登录 MySQL 的时候)。 查询缓存: 执行查询语句的时候,会先查询缓存(MySQL 8.0 版本后移除,因为这个功能不太实用)。 分析器: 没有命中缓存的话,SQL 语句就会经过分析器,分析器说白了就是要先看你的 SQL 语句要干嘛,再检查你的 SQL 语句语法是否正确。 优化器: 按照 MySQL 认为最优的方案去执行。 执行器: 执行语句,然后从存储引擎返回数据。 简单来说 MySQL 主要分

2022-02-12 22:14:21 290

原创 MYSQL事务隔离级别

事务:事务是逻辑上的一组操作,要么都执行,要么都不执行。事务的特性(ACID) 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性: 执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的; 隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的; 持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该

2022-02-12 21:29:05 107

原创 leetcode32 最长有效括号(动态规划困难题)

给你一个只包含 '('和 ')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = "(()"输出:2解释:最长有效括号子串是 "()"示例 2:输入:s = ")()())"输出:4解释:最长有效括号子串是 "()()"示例 3:输入:s = ""输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-valid-parentheses一:暴力解法(容易理解但时间复..

2022-02-12 21:11:50 477

原创 leetcode37全排列2

47. 全排列 II难度中等919给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]请先看leecode全排列1:leetcode46 全排列 DFS递归回溯_ajdhfla的博客-CSDN博客本题与上一题唯一的区别在于数组中可以有重复的数字,而返回的结果中不能包含重复的数组,一个最简单的思路就是使用set,最后在返回一个数组。但这样做最后...

2022-01-24 19:36:50 256

原创 leetcode46 全排列 DFS递归回溯

46. 全排列难度中等1740给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]来源:力扣(LeetCode)思路:本题可以用DFS来解决,先将题目转化成一颗树,在用递归和回溯实现它,如下图(例一 123):在每一层我们需要遍历还数组中剩下的能够选择的数字并添加入数组。问题.

2022-01-24 19:07:25 389

原创 leetcode99 恢复二叉搜索树

99. 恢复二叉搜索树难度中等634给你二叉搜索树的根节点 root ,该树中的两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:输入:root = [1,3,null,null,2]输出:[3,1,null,null,2]解释:3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。这一题乍一看可能有点复杂,实际上非常简单,我们需要做的就是通过中序遍历来将节点都储存在一个数组中。这时候本题就被转化成了恢复一个两个值被误

2022-01-20 16:28:48 172

原创 二叉树的路径总和问题(DFS)

113. 路径总和 II难度中等654给你二叉树的根节点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]]解决该问题要用深度优先搜索的方法,树的DFS有这么几点经验:1.一般使用栈后进先出...

2022-01-20 16:09:46 286

原创 二叉树的最近公共祖先

首先看一道二叉搜索树的题给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q ...

2022-01-20 15:50:27 811

原创 leetcode93. 复原 IP 地址 (DFS,递归与回溯)

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入'.' 来形成。你不能重新排序或删除 s 中的任何数.

2022-01-17 21:23:15 1809 1

原创 64. 最小路径和(leetcode)

题目描述:示例 :输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。知识点:动态规划、深度优先搜索解题思路:本题可直接用for循环求出每个点的从开头到当前点的最短路径,状态转移方程很容易写。我们试一下用DFS来求解此题。 我们需要一个用来标记的数组,一般是通过01来标记一个点是否已经经过防止在一条路径中经过相同的点,但这样操作需要在此次路径结束时进行回溯防止别的路径...

2022-01-17 20:40:51 293

原创 128陷阱

128陷阱的描述:当对Integer变量进行直接赋值时,若值在-128-127之间,通过==判断两值是否相等会返回true,超过了这个范围会返回false。如下段代码: public static void main(String[] args) { Integer a = 1; Integer b = 1; Integer c = 128; Integer d = 128; System.out.pri...

2022-01-15 20:00:45 62

原创 ==与equals与hashCode(顺便提一下字符串常量池)

1. ==与equals的区别==通过值来判定是否相等分两种情况: 1.基础变量 如果是基础变量的话就直接判断他们的值是否相等 2.引用变量 如果是引用变量则判断他们的引用是否相等 创建字符串常量时,首先坚持字符串常量池是否存在该字符串,存在该字符串,返回引用实例,不存在,实例化该字符串并放入池中。因此当判断两个通过String a = "a" 这种方式赋值的变量是否相等时会...

2022-01-15 19:35:55 217

原创 剑指 Offer 45. 把数组排成最小的数

题目描述:输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: "102"示例2:输入: [3,30,34,5,9]输出: "3033459"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof思路:本题可以通过将数字两两拼接成字符串,并对字符串之间进行比较排序排...

2022-01-07 21:22:28 166

原创 AOP的基本组成部分

1、通知(Advise)* before 目标方法执行前执行,前置通知 * after 目标方法执行后执行,后置通知 * after returning 目标方法返回时执行 ,后置返回通知 * after throwing 目标方法抛出异常时执行 异常通知 * around 在目标函数执行中执行,可控制目标函数是否执行,环绕通知2、连接点(JoinPoint)连接点是在应用执行过程中能够插入切面的一个点。3、切点(PointCut)一个切面并不需要通知应用的所有连接点,切点有助于缩小切.

2021-12-16 22:49:02 920

原创 基数排序

public class RadixSort {public static void main(String[] args) {int[] data = {654,123,7,12,987,122,234,18,46,10}; sort(data);}//基数排序方法public static void sort(int[] arr) {//得到数组当中最大数的位数 int max = arr[0];//假设第一个数就是最大数for (int i = 0; i < ar

2021-11-21 18:40:45 64

原创 数据结构-队列

public class ArrayQueue {private E[] arr = (E[]) new Object[12];private int inflag = 0;private int getflag = 0;public void add(E x) {if(inflag - getflag == arr.length) {E[] newarr = (E[]) new Object[arr.length*2];for(int i = getflag; i < i

2021-11-21 18:35:41 531

原创 数据结构-栈

public class StackDemo {private int[] arr = new int[1000];private int flag = 0;//Stringbuffer同理 增加public void add(int x) {if( flag == arr.length ) {int[] arrnew = new int[arr.length * 2];for(int i = 0; i < arr.length; i++) {arrnew[i] = a

2021-11-21 18:34:56 207

原创 有序二叉树

public class TreeNode {public int value;public TreeNode left;public TreeNode right;public String toString() {return"[节点值=" + value +",左=" + left + ",右=" + right +"]";}}public class Shu {public static void main(String[] args) {int[] arr

2021-11-21 18:33:41 172

原创 反射

反射:程序运行时动态加载类的详细信息 反射使用的是.class加载到方法区中的过程分析类信息的能力 jdk 编译 加载器 加载进jvm(所有的成员变量存储在field数组中)(方法在method中)(构造器在constructor)等等.java .class 在磁盘(磁盘阶段)Class.forName("全类名") 加载器(类对象阶段) 类名.class 都在这里获取信息jvm在内存(运行时阶段) 对象名.getClassclass.getDeclaredMethod(name,in

2021-11-21 18:29:44 212

原创 springMVC的框架实现原理

1.它没有主方法,所以依托于tomcat启动。tomcat是java写的,有主方法2.先有tomcat,servlet,后出现SpringMVC框架 //mvc是用来请后交互。model-views-controller(模型-视图-控制器)3.疑惑点:tomcat先开发,那和mvc是怎么交呼的(1)tomcat启动web.xml。(2)tomcat只识别servlet。4.linux下 start.sh启动,然后调用catalina.sh记录了主方法所在的路径。也有bootstra

2021-11-21 18:27:22 75

原创 LinkedList

LinkedList的本质是双向链表。它也可以被当作堆栈、队列或双端队列进行操作。它采用的是链表式储存,所以比较适合用来执行插入,删除等功能,减少在列表中插入或删除元素所付出的代价。一、基本使用1.添加boolean add(Object element) 它将元素附加到列表的末尾。boolean add(int index,Object element) 指定位置插入。 void addFirst(E element) 元素附加到列表的头部 void addLast(Eelement) 元

2021-11-21 18:25:15 108

原创 连表查询

1.外链接:左连接,右连接1.1 左连接left joinSQL语句:select * from table_aleft join table_b on table_a.xx=table_b.xx左外连接包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL).1.2 右连接 right joinSQL语句:select * from table_aright join table_b on table_a.xx=table_b....

2021-11-21 18:17:54 596

空空如也

空空如也

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

TA关注的人

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