自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构习题--旋转链表

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。注意这里的k可能超过链表的长度。

2024-04-28 11:00:50 134

原创 数据结构习题--删除链表倒数的第N个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

2024-04-26 20:44:43 235

原创 数据结构习题--复制带随机指针的链表

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y。

2024-04-26 15:17:56 862

原创 数据结构--对角线遍历

在处理右上时,行减列增循环遍历对角线的条件:因为行减到0,或者列增到边界时,就不能再遍历,所以遍历条件是其补集边界判断:当达到边界上的最后一个数时,还要进行一次行减列增(因为循环变量迭代),此时我们需要判断列是否越界,如果没有,则把行加1(满足行列之和加1,开启下一条线的遍历),如果越界了,行加2,列减1(满足行列之和加1,开启下一条线的遍历),说明列达到边界,下一条对角线的起始遍历位置加了一行对于左下(行增列减),也是一样的分析方式// 得到行数// 得到列数//存放数组。

2024-04-24 18:59:14 256

原创 数据结构习题--回文链表

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false要求:时间复杂度为O(n)空间复杂度为O(1)

2024-04-24 14:59:58 223

原创 数据结构习题--反转链表

给你一个链表,请你反转该链表并返回该链表的头结点。

2024-04-21 22:57:19 159

原创 数据结构习题-- 相交链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null如上图,返回c1结点注意:这两个链表非环形。

2024-04-20 08:49:31 537

原创 数据结构学习--环形链表

我们在判断一个链表是否是环形的,即首尾相连,我们可以以使用快慢指针,如果快指针能再次追上慢指针,就说明该链表是环形的,这边可以举个操场跑步的例子,当操场是环形的,跑的快的,就可以对跑的慢的实现套圈.

2024-04-18 15:09:43 715

原创 数据结构习题--杨辉三角形(返回某一行)

输入需要第几行,返回杨辉三角形中的这一行注意:这里的行数是从0开始。

2024-04-17 20:34:50 658

原创 数据结构习题--移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。

2024-04-16 08:39:56 358

原创 数据结构习题--移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

2024-04-15 09:03:31 405

原创 数据结构习题--数组拆分

给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。

2024-04-14 08:58:44 482

原创 数据结构--翻转字符串里的单词

给你一个字符串 ,请你反转字符串中的单词的顺序。单词是由非空格字符组成的字符串。且字符串中的单词至少间隔一个空格返回,单词顺序颠倒,且单词之间用单个空格连接的结果字符串。注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格(即无最前后的空格)。

2024-04-13 08:54:46 657

原创 数据结构--KMP算法

通俗来说,就是一个字符串开头到某一个位置与其某一个位置到字符串结束一模一样,即 P0…PK-1 与 Pi-k…Pi-1的字符串相同,注意我们这里的最长公共前后缀是指的真串,即不包含该字母,如对于字符串 aba,其前缀有 a,ab,其后缀有ba,a那么最长公共公共前后缀为a下面是实例:对于ababcabababe我们手动遍历一次从 i = 0开始i = 0,字符串为 a因为不包含本身,所以其无前后缀,那么自然也没有公共前后缀i = 1,字符串为 ab。

2024-04-10 20:31:12 854

原创 数据结构--最长回文串

输入一个字符串,返回其最长的回文串回文:正着和倒着是相同的字符串。

2024-04-07 11:28:48 979

原创 数据结构--最长公共前缀

首先找到最小长度的字符串,然后把其与每一个与每一个字符串查找索引,判断其是不是第一个(索引为0),若其是,则计数的加一,当计数等于字符数组长度,即每个字符串都有,则返回该字符串,否则最短字符串减1位,再执行以上操作。

2024-04-05 20:42:17 578

原创 数据结构学习--类C语言介绍

通过自己所需要的元素类型来替换EiemType,其中下图右边是对其是哪种数据类型的声明(可以是结构类型)数组静态分配,在一开始,就为其分配了空间数组动态分配,调用相关函数。

2024-04-02 09:23:01 183

原创 Lambda表达式

> :lambda操作符或者箭头操作符-> 左边:lambda形参列表 (其实就是接口中的抽象方法的形参列表)-> 右边:lambda体 (其实就是重写的抽象方法的方法体)-> 左边:可以省略数据类型(数据推断),如果只有一个形参,可以省略()-> 右边:如果只有一条语句,可以省略{}和return。

2024-04-01 14:04:39 456

原创 数据结构--零矩阵

若M × N矩阵中某个元素为0,则将其所在的行与列清零就是对于矩阵里面的元素,若某一个元素为0,就把那一行和列的所有元素都变为0。

2024-03-31 11:07:37 375

原创 数据结构--旋转数组

有一个二维数组,请在不使用额外变量的情况下,完成对其选择90度。

2024-03-31 10:36:31 458

原创 数据结构--开篇

数据类型是一组性质相同的值的集合以及定义于这个集合上的一组操作的总称(数据类型 = 值的集合 + 在值上的操作)抽象数据类型:由用户定义,抽象出的数据模型,和一些抽象运算,形式定义**(D,S,P)**,D表示数据对象,S是D上的关系集,P是对D的基本操作抽象数据类型定义格式ADT 抽象数据类型名{数据对象:数据关系:基本操作:}ADT 抽象数据类型名基本操作定义格式说明参数表:赋值参数 只为操作提供输入值。

2024-03-30 16:10:44 539

原创 数据结构--合并区间

首先需要对整个二维数组的每一个区间的第一列(左端)进行升序,然后因为合并之后的的区间个数不确定,所以使用ArrayList,然后创建一个临时变量为第一个区间,然后比较其第二列(右端)是否与下一个区间的左端相交(注意,这里是大于等于),如果相交,就比较他们右端点的大小,把大的赋给临时变量,如果不相交,就往集合添加这个区间,然后让临时变量为当前没有相交到的数组。

2024-03-29 17:37:52 535

原创 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。注意这里默认是升序数组。

2024-03-28 14:09:54 179

原创 寻找数组中心索引

如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。类似于之前的数学里的中位数概率位置。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1。

2024-03-27 14:32:58 149

原创 Java的常用的正则表达式

包含资源,能简化日常的正则表达式的开发的工作。

2024-03-26 08:48:50 218

原创 Java语法学习 正则表达式

需求:使用正则表达式完成对文本的查询,regular expression(正则表达式)

2024-03-25 14:16:23 1700

原创 Java小项目--满汉楼

先创建libs包完成对jar包的拷贝和添加入库德鲁伊工具包工具包2.初步编写界面3.创建Employee表,domain(类),EmployeeDAO和BasicDAO创建Employee表创建Employee类创建BasicDAO表创建EmployeeDAO4.创建一个EmployeeService然后将其添加到菜单界面进行判定这个位置5.创建Dining表,domain(类DiningTable),DiningTableDAO,DingTableService创建d

2024-03-20 21:09:48 2830

原创 JDBC和连接池

需求:满足Java程序能对多个不同的数据库进行操作,而创建了一种接口,实现对数据库的规范先创建一个Driver对象,然后设置连接到的数据库的地址,然后创建一个properties对象,在里面设定好账户密码,然后通过driver的connect方法,创建出connect连接缺点:driver是第三方的,依赖性强,灵活性差3.使用DriverManager替换Driver这种方法具有更好的拓展性4.自动注册,简化操作(推荐使用)在反射时,完成了类的加载,在静态代码块里实现了自动注册5.

2024-03-10 17:03:15 372

原创 Java与MySQL语句

顺序# 组合使用-- 利用count不统计null-- 直接用where也行# 两种查询思想,一种用where限定,一种利用count不统计null进行统计# 去重(distinct)-- 这里是错的,因为format返回的是字符串,不能比较。

2024-03-08 15:04:45 1202

原创 Java核心技术卷 第二章

如果收到有关 Welcome/java 的错误信息,这说明你错误地键人了 java Welcome,java, 应该重新执行命令 java Welcome。如果使用 Notepad 编辑 Welcome.java 就会存为 Welcome.java.txt。•如果键人 java Welcome, 而虚拟机没有找到 Welcome 类, 就应该检查一下是否有人设置了系统的 CLASSPATH 环境变量(将这个变量设置为全局并不是一个提倡的做法,然而,Windows 中有些比较差的软件安装程序就是这样做的)。

2024-02-27 22:54:53 360 1

原创 Java核心技术卷I第一章

JAVA在设计时,非常强调进行早期的问题检查,后期动态的(运行时)检测,以及消除容易出错的情况,Java采用的指针模型可以消除重写内存和损坏数据的可能性。与c++相比,在继承方面上,一个类只能继承一个类(单继承机制),而可以通过接口来实现c++的中多继承现象 ,可以提供更加丰富的自省功能。编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,这些编译过后的代码可以在多种处理器上运行。基于c++,没有头文件,指针运算,结构,联合,操作符重载,联合等等。

2024-02-27 22:41:21 535 1

原创 MySQL的连接

MySQL的三层结构。

2024-02-20 11:25:00 315 1

原创 MySQL安装指南

这个是我们在日常开发中,必不可少的一个软件,那今天我将带来保姆式的安装教学,视频可以看韩顺平java的732集,这里附带一份安装文档,有什么问题可以留在评论区或者私聊我。

2024-02-17 16:17:35 504

原创 Java语法学习反射

流程图(程序在计算机的阶段)反射的主要的类这个提高效率不大对于第三点:首先类只会加载一次,得到的class的对象,也只有一个,如果用反射两次得到class的对象,只是名字不同,地址本质上还是一个。

2024-02-12 20:58:01 458

原创 Java小项目:多用户通信系统

1.注意使用对象流进行传输的时候,要保证两个对象的成员变量属性名要一模一样。2.注意流的使用和开放关闭的时间。

2024-02-08 20:07:30 512

原创 Java学习网络编程

其它:在写入时可以用writeNewLine()来进行结束标记,但这要求读取必须使用readline()方法。当客户端连接服务端时,服务端是我们固定的端口,而客户端也有一个端口,只不过是TCP/IP协议随机分配的。通用:调用socket对象的shutdownOutput()方法。gethostname 是获取主机名字。getHostAddress 是获取IP地址。注意:写完过后记得使用flush方法刷新。获取指定主机名字或域名的信息。获得本机的名字和IP。

2024-02-07 20:32:17 654

原创 Java语法学习IO流

try {第二种:相当于把第一种分开写try {第三种:与第二种差不多try {

2024-02-04 21:03:01 1419

原创 Java语法学习线程基础

如果类里面已经出现了静态的同步方法,那么这个锁就作用于这个类上,此时的非静态的方法,如果要实现同步的话,需要synchronized(这个类名.class)调用star方法开启支线程,如果不用star,直接调用run方法,那么相当于一个主线程的普通的方法,会让主线程按照顺序执行下去。当i = 3时,停止执行主线程,执行子线程thread,执行完成后,继续执行主线程。在线程执行时,如果其它线程.join(),那么会等其它线程执行完,再执行本线程。守护线程,在用户线程执行完之后,自己也会终止执行。

2024-02-03 19:30:24 389

原创 Java事件处理机制

是通过实现接口完成的具体使用方法,查询文档。

2024-02-02 11:02:55 353

原创 Java语法学习坐标体系/绘图

基本介绍:注意每次自动调用,就会重新执行一次paint方法里的所有程序创建一个类继承JPanel,然后重写构造器,paint方法@Override。

2024-02-01 15:05:00 333

数据结构学习-队列/栈

简单的介绍了队列的实现原理,和一些开发中的考量

2024-04-28

数据结构-KMP算法原理

对KMP算法进行具体的分析,生动图解,保证能够一看就懂

2024-04-10

数据结构的KMP算法原理

详细的分析了对于KMP算法的Next[ ]数组的求解原理

2024-04-10

数据结构的逻辑结构图,描述逻辑结构关系

数据结构的逻辑结构图,描述逻辑结构关系

2024-03-26

Java的常用的正则表达式

收录了常见的文本正则表达式的模板,便于开发

2024-03-25

Java语法学习 正则表达式

Java语法学习 正则表达式

2024-03-25

MySQL安装指南,免费版本

MySQL安装指南,免费版本

2024-02-17

空空如也

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

TA关注的人

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