自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java8新特性——函数式接口

JDK8新特性——函数式接口

2023-12-23 20:26:27 836

原创 CCF 22-06-02 寻宝!大冒险!

很显然,要利用条件,那么我们可以确定外层循环的次数为n,宝藏可能出现的位置不超过n。这里我定义了两个变量,num 表示与绿化图对应的树的数量,rangeNum表示范围内出现的树的数量,如果藏宝图左下角是树,那么继续判断其他位置。最后 (S+1) 行输入小 P 手中完整的藏宝图,其中第 i 行(0≤i≤S)包含空格分隔的 (S+1) 个 0 和 1,表示 B[S−i][0]⋯B[S−i][S]。需要注意,最先输入的是 B[S][0]⋯B[S][S] 一行,B[0][0]⋯B[0][S] 一行最后输入。

2023-12-07 18:41:39 872

原创 Spring-AOP

Spring-AOP

2023-12-05 18:19:58 996

原创 Spring-事务支持

Spring-事务支持

2023-11-29 14:22:22 1252

原创 搭建SpringMVC工程

Spring MVC 工程搭建

2023-11-20 17:29:08 112

原创 力扣 23.11.14 相同的树

这道题真的很好,归根结底,实际上就是二叉树的遍历方式,对于广度优先搜索,使用了队列这种数据结构,遍历方式是层序遍历;深度优先搜索则是使用递归的思想,遍历方式是先序遍历,广度优先搜索的方式,第一种是我自己写的,逻辑很乱, 对比官方给出的题解,过程大致一样,但又有一点区别,我也很晕看不出来哪个更好。空间复杂度S(n)=O(min(m,n)),对于深度优先搜索,空间复杂度取决于递归调用的层数,递归调用的层数不会超过较小的二叉树的大高度。时间复杂度T(n)= O(min(m,n)),m 、n为二叉树的节点数。

2023-11-14 19:36:10 58

原创 数据结构之经典排序(一)

排序算法(一)

2023-11-02 09:22:26 57

原创 数据结构之队列基本操作

如上图所示,可以看到当队列中只有F元素,这时候仍满足条件,但很显然可以看出这是一种假的队列上溢出,在队列仍然存在空的位置可以存放元素,因而选择简单的顺序队列满足不了队列的特点,为了解决这个问题,这里通过循环队列的方式来解决。循环队列的实现是通过顺序存储的方式来实现。那么为什么不叫做顺序队列呢,我们知道顺序存储实现是在内存中分配一块连续的存储单元存放队列中的元素,假设创建了一个存放10个存储单元的顺序队列,并进行一系列的出队、入队操作,观察rear、front指针的位置,如下图所示。删除元素称为出队或离队。

2023-10-23 17:10:49 179

原创 数据结构之栈基本操作

共享栈是指同一片连续空间,分别从相对方向存放各个栈的元素,它节省了所需的空间,不同于顺序栈的是,在判断栈满时,是通过判断两个栈顶指针对应的索引关系。链栈通过一组任意的存储单元来栈中的元素,但链栈是操作受限的线性表,它只允许从表头进栈,通过头插法可以实现。栈(stack)是只允许在一端进行插入或删除操作的线性表,它是一种操作受限的线性表。顺序栈使用一段连续空间来存储栈,通过设置top指针指向栈顶元素或可插入元素的位置,来表示栈结构。基于以上七种操作,我将从栈的不同存储结构出发,实现这些基本操作。

2023-10-18 23:10:43 63

原创 Floyd’s 龟兔赛跑算法

中午看到一个有趣的视频,视频中讲到了一个十分有意思的算法问题,看完后有感而发,自己动手测试了一下,不得不说这种思路真的很值得学习,话不多说步入正题。

2023-10-14 19:46:35 51

原创 Spring依赖注入简单实现

Spring DI 简单实现

2023-09-28 10:28:44 84

原创 设计模式(二)代理模式

很重要的设计模式,Spring AOP也用到了。

2023-09-27 21:07:57 67

原创 数据结构之线性表基本操作

数据结构 基本线性表

2023-09-21 21:51:14 52

原创 力扣 23.08.31 最大数

重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。输出结果可能非常大,所以你需要返回一个字符串而不是整数。

2023-08-31 17:44:08 35

原创 转化K进制 各位求和 (含真题)

例如 126 是十进制下的一个哈沙德数,因为 (126) 10 mod (1+2+6) = 0;同时 126 也是 16 进制下的哈沙德数,因为 (126) 10 = (7 e ) 16 , (126) 10 mod (7 + e ) = 0。小蓝认为,如果一个整数在二进制、八进制、十进制、十六进制下均为 哈沙德数,那么这个数字就是幸运数字,第 1 至第 10 个幸运数字的十进制表示 为:1 , 2 , 4 , 6 , 8 , 40 , 48 , 72 , 120 , 126 . . .。

2023-08-30 11:56:22 59

原创 力扣 23.08.30 Excel表列名称

返回它在 Excel 表中相对应的列名称。

2023-08-30 10:53:10 41

原创 MySQL 8.0 新特性 窗口函数

MySQL8.0新特性 窗口函数

2023-08-29 23:06:38 106

原创 力扣 23.08.29 分数排名 (数据库)

该表的每一行都包含了一场比赛的分数。Score 是一个有两位小数点的浮点值。查询并对分数进行排序。方法一 窗口函数 DENSE_RANK (在 SQL 中,id 是该表的主键。查询结果格式如下所示。方法二 相关子查询。

2023-08-29 11:28:25 35

原创 力扣 23.08.29 合并两个有序数组(双指针)

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。逆序双指针解决了双指针需要额外开辟临时空间的问题,避免出现放入的元素将num1未比较的元素替换。方法一的空间复杂度: O(m+n) 方法二的空间复杂度: O(1),5,6] ,其中斜体加粗标注的为 nums1 中的元素。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。需要合并 [1] 和 []。合并结果是 [1]。

2023-08-29 10:41:24 32

原创 力扣 23.08.28 第N高的薪水 (数据库)

数据库专题

2023-08-28 12:34:36 28

原创 力扣 23.08.28 删除排序链表中的重复元素

链表

2023-08-28 11:36:28 40

原创 力扣 23.08.26 两个数组的交集

输出结果中的每个元素一定是。方法一:双指针+排序。

2023-08-26 17:34:35 25

原创 使用Java和SQL的方式查询某个员工所在部门的信息

使用jdbc和mysql的方式处理数据库业务

2023-08-26 16:15:44 409

原创 力扣 23.08.25 排列硬币

二分查找系列二分查找系列。

2023-08-25 11:18:18 70 1

原创 力扣 23.08.25 第一个错误的版本

二分查找

2023-08-25 10:28:30 46 1

原创 力扣 23.08.25 丢失的数字

这个范围内没有出现在数组中的那个数。

2023-08-25 09:56:01 47 1

原创 力扣 23.08.24 爬梯子(动态规划问题)

动态规划 (一)

2023-08-24 09:59:32 68 1

原创 力扣 23.08.23 x的平方根

题目要求返回x的算术平方根的整数部分,通过二分查找不断缩小范围的同时,我们需要比较mid的平方与x的关系来调整范围,当下界超出上界时,返回ans,ans为x的算术平方根。不允许使用任何内置指数函数和算符,例如。由于返回类型是整数,结果只保留。

2023-08-23 09:21:37 54 1

原创 力扣 23.08.22 二进制求和

考虑代码的简洁,通过进制的特点来判断进位是最简单的。对于字符串求和,我们往往会考虑越界情况,但如果使用进制作为判断条件,我们只需要简单加法和一些逻辑就可以完成这个问题。但如果使用ASCII值判断的话,对于进制情况,对应三者 '0' + '1' + 1 或 '1' + '1' + 0 或 '1' + '1' + 1 , 此外对于这种情况需要考虑是否需要进位, 我们给算每个条件得出的ASCII值, 非常麻烦。反之,计算出每一位的carry值,模运算得出当前位置的字符,除2得到上一位进制的值,是很方便的。

2023-08-22 10:08:07 26 1

原创 力扣 23.08.21 加一

情况三: digit数组元素全为9,我们需要创建一个(n + 1)的int数组空间,然后置digit[0] 加一即可,因为创建int数组,如果不初始化,默认每个元素值为0,因而不需置其余元素。情况二: 末尾有若干个9,不包括digit数组元素都是9。我们首先找到末尾第一个非9的元素,然后将这个元素加一,然后将此索引之后的全部元素置为0, 如 1999。最高位数字存放在数组的首位, 数组中每个元素只存储。情况一:末尾元素不为9,只需加一即可。数组所表示的非负整数,在该数的基础上加一。

2023-08-21 11:33:39 20 1

原创 力扣 23.08.20 找出字符串第一个匹配的下标

"leeto" 没有在 "leetcode" 中出现,所以返回 -1。依次比较主串和字串即可,时间复杂度T(n) = O(m * n)字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。时间复杂度 T(n) = O(m + n)"sad" 在下标 0 和 6 处匹配。

2023-08-20 22:19:30 25 1

原创 力扣 23.08.20 删除有序数组中的重复项

/ 长度正确的期望答案。时间复杂度 T(n) = O(nlogn)如果所有断言都通过,那么您的题解将被。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。时间复杂度 T(n)= O(n)空间复杂度 O(1)

2023-08-20 09:21:49 18 1

原创 力扣 23.08.19 合并两个有序链表

新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。

2023-08-19 10:32:34 20

原创 力扣 23.08.18 有效的括号

此前考虑字符串中括号的多次匹配的情况时,只想到了利用递归的思路来解题,但是实现起来很麻烦,不仅对于边界值需要分析,包括递归需要传入新的索引值来确定目前匹配的位置。在遍历结束后,如果栈中没有左括号,说明我们将字符串 sss 中的所有左括号闭合,返回 True\text{True}True,否则返回 False\text{False}False。注意到有效字符串的长度一定为偶数,因此如果字符串的长度为奇数,我们可以直接返回 False\text{False}False,省去后续的遍历判断过程。

2023-08-18 10:55:13 25 1

原创 力扣 23.08.17 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。输入不存在公共前缀。

2023-08-17 09:31:26 36 1

原创 力扣 23.08.16 罗马数字转整型

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做。给定一个罗马数字,将其转换成整数。,即为两个并列的 1。

2023-08-16 17:39:39 27 1

原创 力扣 23.08.15 回文数

将整型数转化为字符串,如果字符串长度为奇数,去掉中间的字符,得到偶数长度的字符串,然后就可以统一判断字符串是否满足回文数。时间复杂度:O(log⁡n),对于每次迭代,我们会将输入除以 10,因此时间复杂度为 O(log⁡n)。空间角度来看,需要额外的非常量空间来创建问题描述中所不允许的字符串。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。空间复杂度:O(1),只需要常数空间存放若干变量。是一个回文整数,返回。时间复杂度: O(n)

2023-08-15 09:48:37 31

原创 数据建模(一) 域

数据建模(一) 域

2023-08-13 14:22:25 195 1

原创 设计模式(一) 观察者模式

行为型模式——观察者模式

2023-06-16 22:55:12 71 1

原创 intelliJ-IDEA 创建一个web项目,(包含第三方jar包的导入)

创建一个WEB项目

2023-06-14 22:37:55 2528

空空如也

空空如也

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

TA关注的人

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