自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 问答 (1)
  • 收藏
  • 关注

原创 前k个高频元素

输入: nums = [1,1,1,2,2,3], k = 2。给定一个非空的整数数组,返回其中出现频率前 k 高的元素。

2024-09-10 15:06:18 141 1

原创 CSD三层架构

当存在多个同类型类时,@Autowired无法自动注入依赖,可以在需要的类上加@Primary注解,或者在需要注入依赖处加@Qualifier(“className”),或者用@Resource代替@Autowired,@Resource(name=“className”)根据类名来选择注入的依赖。@Autowired:为Controller和Service注入运行时依赖的对象。@Component:将Service和Dao层的实现类交给IOC容器。:衡量软件中各个层/模块之间的依赖、关联程度。

2024-09-04 18:53:07 197

原创 滑动窗口最大值

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。push时,如果push的元素value大于入口元素的数值,那么就将队列入口的元素弹出,直到push元素的数值小于等于队列入口元素的数值为止。pop时,如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作。利用单调队列维护窗口里的值,只需要维护可能成为最大值的值,因此只需要保持队列单调递减。返回滑动窗口中的最大值。

2024-09-04 11:39:42 213

原创 HTTP协议

HTTP:超文本传输协议,规定浏览器与服务器之间数据传输的规则。

2024-09-03 11:52:25 174

原创 逆波兰表达式(后缀表达式)

整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。有效的运算符包括 + , - , * , /。每个运算对象可以是整数,也可以是另一个逆波兰表达式。利用栈来解决,当检索到运算符时弹出栈顶两个元素进行运算,将结果入栈。根据 逆波兰表示法,求表达式的值。时间复杂度、空间复杂度:O(n)

2024-09-03 10:34:17 197

原创 删除字符串中所有相邻重复项

给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。利用栈存放之前遍历过的元素,若当前元素和栈顶元素一致则删除。最后弹出栈中元素并进行倒序。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。时间复杂度、空间复杂度均为O(n)

2024-09-02 17:58:19 166

原创 Maven介绍

Maven是一款用于管理和构建java项目的工具依赖管理:避免jar包冲突统一项目结构标准跨平台的自动化项目构建方式导入maven模块时直接导入pom文件即可。

2024-09-02 17:46:47 318

原创 有效的括号

如果遍历完字符串栈不为空,说明有多余的左括号;如果遍历过程中栈已经为空,说明多余的右括号;遍历过程中发现字符不匹配。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。每遇到一个左括号则把对应右括号压入栈中,遇到右括号时检查栈顶和该右括号是否一致。左括号必须用相同类型的右括号闭合。注意空字符串可被认为是有效字符串。时间复杂度、空间复杂度:O(n)左括号必须以正确的顺序闭合。

2024-08-30 11:35:36 147

原创 用队列实现栈

创建两个队列que1 que2,输出时把que1最后元素以外的元素备份到que2,弹出最后的元素后,再从que2导回que1。push(x) – 元素 x 入栈。empty() – 返回栈是否为空。pop() – 移除栈顶元素。top() – 获取栈顶元素。

2024-08-28 10:24:42 226

原创 用栈实现队列

push时将数据放进输入栈,pop时如果输出栈为空,就把进栈数据全部导入,再从输出栈弹出。push(x) – 将一个元素放入队列的尾部。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。pop() – 从队列首部移除元素。需要两个栈,一个输入栈一个输出栈。如果输出栈不为空直接从输出栈弹出。

2024-08-27 10:04:11 165

原创 Ajax快速入门

Ajax:异步的JavaScript和XML作用:给服务器发送请求,并获取服务器响应的数据;可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。:服务器处理请求时,客户端可以继续执行其他操作。

2024-08-26 17:07:20 296

原创 Vue快速入门

v-model:将数据模型的数据绑定到视图层表单元素,双向数据绑定,即视图层数据变化也会影响视图模型。v-show:根据条件展示元素,区别是都会渲染,切换的是CSS中display的值。v-bind:为HTML标签绑定属性值.v-bind可以省略。v-if/v-else-if/v-else:条件性渲染某元素。每触发一个生命周期事件,就会自动执行一个生命周期方法(钩子)v-on:为HTML标签绑定事件,可以简化为@定义vue的生命周期方法与method平级。v-for:列表渲染。

2024-08-23 18:51:29 308

原创 Javascript快速入门

functionName: function(p1, p2...){}//:function可以省略。

2024-08-23 15:44:11 570

原创 前端基础知识

Web标准:由W3C(万维网联盟)制定HTML: 超文本标记语言,负责网页结构(页面元素和内容)CSS:层叠样式表,负责网页的表现(页面元素的外观,位置等)JavaScript:负责网页的行为(交互效果)

2024-08-22 16:44:08 89

原创 CSS快速入门

color:颜色font-size:字体大小text-decoration:文本装饰text-indent:首行缩进line-height:行高text-align:文本对齐。

2024-08-22 16:43:44 458

原创 html快速入门

/

2024-08-22 16:43:17 1137

原创 Unity入门6——碰撞

碰撞由刚体组件RigidBody和Collider实现。

2024-08-20 18:31:43 298

原创 Unity入门5——材质

点击Assets → Create → Material,得到一个默认材质球的副本。

2024-08-07 17:39:44 525

原创 Unity入门4——常用接口

DateTime.Now:拿到系统当前时间DtaTime.TimeOfDay:获取此实例当天的时间Quaternion:用来旋转,采用四元数,由w(实部)和x,y,z(虚部)组成。四元数的实部通常与旋转的角度有关。在单位四元数中,实部(w)可以表示为cos(θ/2),其中θ是旋转角度。虚部(x, y, z)可以表示为旋转轴单位向量u与sin(θ/2)的乘积,即(x, y, z) = u * sin(θ/2)。虚部对于确定旋转的方向或“轴”是关键的。Quaternion.Euler:返回一个旋

2024-08-07 16:31:12 326

原创 Unity入门2——编辑器常用功能

右键Hierachy面板的空白区,点击UI->Panel可以创建UI面板,如果从来都没有创建一个Canvas的话,系统还会默认创建一个Canvas和一个EventSystem。选中多个图片素材,在Inspector里将Texture Type设置为Sprite(2D and UI)即可将图片素材用于UI。在图片组件的Inspector面板,选择Set Native Size可以将Image组件设置为图片原本大小。点击文件夹,右键,选择showInExplorer可以在文件管理器中打开。

2024-08-07 16:30:57 329

原创 Unity入门3——脚本入门

本文使用的代码编辑器为VSCode。

2024-08-07 15:49:57 238

原创 Unity入门1——基本操作

选中View工具后,按住鼠标左键,即可实现拖拽按住Alt+鼠标右键,移动鼠标即可实现缩放(或使用鼠标滚轮)

2024-08-06 17:37:35 485

原创 JAVA文档注释

文档注释,它以 /** 开始,以 */ 结束。你可以使用 javadoc 工具软件来生成信息,并输出到 HTML 文件中。文档注释,使你更加方便的记录你的程序信息。

2024-07-31 13:58:40 344

原创 JAVA多线程编程

一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。

2024-07-31 13:40:11 697

原创 JAVA 网络编程

java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。

2024-07-30 17:42:57 232

原创 JAVA URL处理

URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示为互联网上的资源,如网页或者 FTP 地址。java.net.URL提供了丰富的URL构建方式,并可以通过java.net.URL来获取资源。注意:java20后这些构造函数已经弃用。

2024-07-30 15:45:15 443

原创 JAVA序列化

当对象被序列化时,属性 SSN 的值为 111222333,但是因为该属性是短暂的,该值没有被发送到输出流。ObjectOutputStream 类用来序列化一个对象.注意: 当序列化一个对象到文件时, 按照 Java 的标准约定是给文件一个 .ser 扩展名。序列化在 Java 中是通过 java.io.Serializable 接口来实现的,该接口没有任何方法,只是一个标记接口,用于标识类可以被序列化。Java 序列化是一种将对象转换为字节流的过程,反序列化将字节流重新转换为对象。

2024-07-30 11:16:05 155

原创 JAVA泛型

泛型方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。:限制被允许传递到一个类型参数的类型种类范围要声明一个有界的类型参数,首先列出类型参数的名称,后跟extends关键字,最后紧跟它的上界。

2024-07-29 17:43:47 327

原创 JAVA Object类

java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类。

2024-07-29 16:49:05 181

原创 JAVA Iterator

Java迭代器(Iterator)是 Java 集合框架中的一种机制,是一种用于遍历集合(如列表、集合和映射等)的接口。

2024-07-29 16:36:09 143

原创 JAVAHashMap

HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 是无序的,即不会记录插入的顺序。

2024-07-29 16:02:05 197

原创 JAVA HashSet

HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 是无序的,即不会记录插入的顺序。HashSet 允许有 null 值。HashSet 实现了 Set 接口。

2024-07-29 13:11:57 139

原创 JAVA LinkedList

【代码】JAVA LinkedList。

2024-07-29 11:53:05 123

原创 JAVA ArrayList

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。:用Collections.sort()方法。ArrayList只能存储引用类型。

2024-07-29 11:42:14 159

转载 重复的子字符串

本文参考代码随想录给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。移动匹配满足条件的字符串一定由前后相同的子串组成,因此如果用后面的子串做前串。前面的子串做后串,组成的字符串一定和原字符串一样。因此,只需要将两个s拼接在一起,如果中间还有一个s的话,就说明是由重复的字符串组成。在搜索s+s中是否出现s时,要刨除s+s的首字符和尾字符,确保搜索出来的是中间的s。class Solution {public:

2024-07-29 11:06:13 30

原创 JAVA数据结构

数组(Arrays)是一种基本的数据结构,可以存储固定大小的相同类型的元素。特点:TreeSet 是有序集合,底层基于红黑树实现,不允许重复元素。优点: 提供自动排序功能,适用于需要按顺序存储元素的场景。缺点: 性能相对较差,不允许插入 null 元素。缺点: 大小固定,插入和删除元素相对较慢。优点: 插入和删除元素高效,迭代器性能好。特点: 固定大小,存储相同类型的元素。优点: 高效的随机访问和快速尾部插入。优点: 高效的查找、插入和删除操作。优点: 高效的查找和插入操作。缺点: 插入和删除相对较慢。

2024-07-26 18:00:38 361

原创 JAVA Package包

一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问保护和命名空间管理的功能。包的作用:把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

2024-07-26 17:21:03 322

原创 JAVA枚举

Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割每个枚举都是通过 Class 在内部实现的,且所有的枚举值都是 public static final 的。

2024-07-26 16:00:34 168

原创 JAVA接口

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。

2024-07-26 15:18:21 925

转载 实现strStr()函数

本文参考实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。KMP字符串匹配:当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。:next数组。用来回退,记录模式串与主串不匹配时,从哪里重新匹配。记录下标i之前(包括i)的字符串中,有多大长度的相同前缀后缀。

2024-07-26 14:00:16 28

空空如也

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

TA关注的人

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