自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (2)
  • 收藏
  • 关注

原创 AcWingP1101. 献给阿尔吉侬的花束-bfs(宽度优先搜索)

因为BFS是按层来遍历的,会先把所有距离为0的点遍历完,然后再遍历所有距离为1的点,按这样的顺序来遍历的,再遍历所有距离为2的点,一层一层往外扩展,因此第一次扩展到终点时,必然是最短距离。BFS能找到最少步数,也就是最短路径。

2024-03-17 13:49:20 462 1

原创 AcwingP1238-日志统计

【代码】AcwingP1238-日志统计。

2024-03-16 22:38:45 389

原创 归并排序题目-逆序对的数量

首先根据归并算法的特点,通过不断被递归,最终一个数列中只含有一个数字,因此是有序的,接着便会来到倒数第二层递归,此时一个数列中含有两个数字,相当于一个数列分为两个数列,对这两个数列的值进行比较,如果符合逆序对的规则,则res加一,通过不断的递归返回,直到最后一层递归返回(也就是第一次递归调用的地方),此时是两个大数列,数列内部数量为n/2;这两个大数列与之前小的数列合并为较大的数列是一样的,都是在数列内是有序的,但数列与数列之间并不是有序的,所以每次递归返回其实都是在比较数列与数列之间的值的大小。

2024-01-25 11:18:50 524 1

原创 归并排序算法

归并排序算法的实现

2024-01-24 12:18:15 1321

原创 Java中是否有全局变量?

在Java中,通常我们不会使用传统意义上的全局变量,因为Java的设计思想鼓励封装和数据隐藏。然而,如果你需要一种类似于全局变量的机制来实现跨多个类或方法共享数据,你可以使用。此外,全局变量在类被加载时创建,并一直存在于内存中,直到程序退出或对象被销毁。这与局部变量不同,后者只在它们被声明的方法或代码块中有效,并且在方法执行完毕后就会被销毁。这种变量可以在类的任何地方被访问,而且它是属于类的,而不是类的实例。成员变量来实现类似的功能,这是一种更加符合Java设计理念的做法。字段,这样就可以在其他类中通过。

2024-01-23 19:50:41 437 1

原创 快速排序题目-第k个数

给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第 k 个数。

2024-01-23 19:48:36 532 1

原创 a[i++]与a[++i]的区别

a[i++]是先读取后自增,而a[++i]是先自增后读取。

2024-01-22 20:09:19 407

原创 蓝桥杯-快速排序

若此时中间值取q[L+R>>2],时,下标为0,即分界值为6,i对应的内容为6,与边界值相同,不进行右移操作;l=0,i-1=0;(符合n分成0和n,或 n分成n和0的情况,否则会造成死循环,无限划分这种情况)这与刚开始的范围没有变化,即使往下进行递归,也依然是这样的结果,永远也达不到递归终止的条件,造成死循环。结论:此题分界值选取的为中间值,若题目的数据量并没有那么大时,边界值也可以在最右或者最左等都可以(若以i为边界,则不能使边界值x=arr[l],以为边界时,则不能使边界值x=[r])。

2024-01-22 19:21:48 471

原创 Scanner与BufferedReader的区别

可能是一个更好的选择。如果需要高效地读取大量文本数据,尤其是从文件或网络连接中,在实际开发中,可以根据具体的需求和场景来选择使用哪一个类。总的来说,如果需要处理复杂的输入格式或者频繁地读取不同类型的数据,都是用于读取输入的类,但它们之间存在一些差异。

2024-01-22 12:07:06 515

原创 String与StringBuilder的区别

String与StringBuilder区别

2024-01-20 21:13:01 354

原创 蓝桥杯基础准备2

String类代表字符串;String类源码是由final来修饰的。所以一旦对象被创建之后便不能被修改,可以被共享。2.以双引号创建的字符串,只要内容相同,无论在程序中出现几次。jvm都会建立一个String对象。1.通过new创建对象:每new一次就会申请一个内存空间,即使内容相同,但是其地址不同;字符串中的内容可以改变。

2024-01-20 21:06:50 403

原创 蓝桥杯准备之路-Java基础复习

java基础复习

2024-01-20 12:08:32 688

原创 瑞吉外卖-第一章节-R-员工登录与退出

瑞吉外卖知识点详解

2024-01-06 22:10:32 824 1

原创 面向接口编程

面向接口编程思想

2024-01-06 18:21:54 341 1

原创 Java的MVC架构中,controller层、service层、serviceImpl和mapper层的作用

当用户发起请求时,请求首先会到达Controller层。接着,Controller层会解析请求,并调用相应的Service层方法。Service层会处理业务逻辑,这可能会涉及到对数据库的操作,因此它会调用Mapper层进行数据访问。最后,Mapper层会执行SQL语句,与数据库进行交互,并将结果返回给Service层。

2024-01-06 17:46:59 1403 1

原创 Mybatis多表关联查询

Mybatis的多表关联查询

2023-12-27 13:12:08 479 1

原创 Mybatis-手动映射

何为手动映射

2023-12-26 14:46:04 619 1

原创 Mybatis中动态Sql语句

这也是第一个条件为啥也要加and的原因。易错的地方:每条语句前面都要加一个and语句,这也许就有一点疑惑了,后面几个条件确实要加and,但为什么第一个也要加呢,其实这与where标签有着很大的关系。eg: 若查询条件为name=zh,age为空,数据库表中就算有name=zhao的记录,但是因为它的age字段属性为20,不符合年龄这个条件,就查不到这个结果。当接受参数为一个集合时,sql语句如上所示,这是已知集合中的数据,当发生改变时,sql语句也需要改变,不灵活,因此引入了标签。

2023-12-26 11:59:47 388 1

原创 Java基础-反射

反射机制作为java特性之一,它是指在运行状态中,动态获取信息以及动态调用对象方法的功能。具有三个动态性质:1.运行时生成对象实例;2.运行时调用方法;3.运行时更改属性。首先回顾一下java程序的执行过程,java源文件由编译器生成class文件,被虚拟机加载。所以运行的程序在编译时就已经加载好所需要的类了。上述加载是确定了要对Person这个类进行加载。Java反射机制在编译时并不确定是哪个类被加载了,而是在程序运行时才加载、探知和使用。这体现了反射独有的特点。如下图所示,类似于光的反射。

2023-12-25 21:31:21 357 1

原创 Mybatis工作原理详解

//读取核心配置文件 InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); //创建工厂,通过将配置文件作为输入流,通过工厂产生sqlSession对象; SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); SqlSession

2023-12-25 20:25:08 373

原创 Mybatis-config.xml配置模板

【代码】Mybatis-config.xml配置模板。

2023-12-25 20:13:07 359

原创 Mybatis-数据库查询单元测试步骤详解

/ 创建工厂,通过将配置文件作为输入流,通过工厂产生sqlSession对象;// 读取核心配置文件。

2023-12-25 20:10:29 441

原创 Mysql-JDBC-连接数据库statement的作用

使用Statement对象的主要步骤包括:创建一个Statement对象、执行SQL语句以及处理执行结果。此外,还有两种常用的Statement子接口实现类,在JDBC(Java Database Connectivity)中,Statement对象是一个用于执行SQL语句以及与数据库进行交互的重要接口。我们可以通过Statement对象向数据库发送SQL查询和更新语句,并从数据库中接收结果。CallableStatement接口则用于执行数据库存储过程。的SQL语句,可以带有参数,有助于。

2023-12-25 19:43:40 344

空空如也

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

TA关注的人

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