自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 _CSS3

CSS基础概念与应用摘要 CSS(层叠样式表)是用于定义HTML元素样式的语言,包含选择器、属性和值三部分。主要引入方式有:内联样式(直接写在标签内)、内部样式(head中的style标签)和外部样式(link引入.css文件,推荐使用)。 核心内容包括: 选择器类型:元素、类、ID选择器,优先级为内联>ID>类>元素 盒子模型:由内容、内边距、边框和外边距组成 弹性布局(Flex):通过display:flex实现灵活排版,包含主轴/侧轴对齐等属性 浮动与定位:浮动会脱离文档流,需清除浮

2025-08-12 00:25:14 928

原创 HTML5

标题(Heading)是通过标签进行定义的。<h1>定义最大的标题,<h6>定义最小的标题生成快捷键:h$*6标题标签位置摆放:在标签中添加属性默认居左。

2025-08-06 01:53:50 677

原创 HTML5框架介绍

例如:“charset="utf-8"”是说当前使用的utf-8编码格式,在开发中我们经常会看到utf-8,或是gbk,这些都是编码格式,通常使用utf-8.head标签用于文档的头部,文档的头部描述文档的各种属性和信息,包括文档的标题,在web中的位置以及和其他文档的关系等,绝大多数文档头部包含的数据不会真正作为内容显示给读者。定义HTML文档,这个元素我们浏览器看到后就明白这是个HTML文档了,所以你的其他元素要包裹在这个标签里面,标签限定了文档的开始点和结束点。每个项目最上面都有<!

2025-07-25 16:38:51 264

原创 IO流的介绍

input;:outputFile:表示系统中的文件或者文件夹路径(File类只能对文件本身操作,IO流:用于读写文件中的数据(可以读写文件或网络中的数据)

2025-07-25 16:01:41 296

原创 File文件

绝对路径带盘符,相对路几个不带盘符。

2025-05-21 23:13:34 685

原创 Stream流

Stream流结合Lambda表达式,简化了集合和数组的操作。使用步骤包括获取Stream流、通过中间方法处理数据,最后使用终结方法处理数据。获取Stream流的方式有:单列集合通过Collection的stream()方法,双列集合需通过keySet()或entrySet()转换,数组通过Arrays.stream(),零散数据通过Stream.of()。

2025-05-20 21:26:57 2206

原创 GUI图形化演示

在 Java 的JFrame中,setLayout方法用于设置容器的布局管理器。布局管理器决定了容器中组件的排列方式。JFrame默认使用,但可以通过setLayout方法更改为其他布局管理器。好处:布局方式可以让组件的位置随着窗口的大小而改变。如果默认的布局管理器不满足需求,可以通过实现接口来自定义布局。自定义布局需要实现接口中的方法,如等。除了使用Java提供的标准监听器接口,还可以自定义监听器接口和实现类。// 自定义监听器接口,定义了事件处理方法。

2025-05-15 18:38:53 716

原创 泛型和集合的认识

单列集合就是一个集合存的都是一个,单一类型的对象,每个对象都是独立存在的,不和其他的对象存在关系双列集合恰恰相反,他一次性存入两个对象或者数据,这两个对象或者数据存在相互映射关系,比如存入,男和女,那么男就映射女,先存入的叫做键(Key)后存入和叫做值(Value);单列集合的性质、数据结构与特性单列集合是指只存储单一类型的对象,即这些集合中的元素都是独立存在的,不与其他元素形成键值对关系。Java 中的主要单列集合包括 List和 Set。List。

2025-05-13 00:51:58 796

原创 Lambda表达式

Lanbda是一个匿名函数,我们可以把Lambda表达式理解为一段可以传递的代码,他可以写出更简洁,更灵活的代码,作为一种更紧凑的代码风格,使Java语言表达能力得到了提升。只留下方法体和形参。然后在方法体和形参之间加一个箭头就能运行了。必须是接口的匿名内部类·,接口中只能有一个抽象方法。简化函数式接口的匿名内部类写法。将一个字符串按照长度输出出来。用处:简化匿名内部类。在下面先写一个内部类。

2025-05-12 19:59:01 248

原创 常用实用类

Object类是所有其他类的根类,位于java.lang包中,在编译时会被自动导入。这意味着任何未显式声明父类的类都会隐式继承自Object类1。String类String表示不可变的字符序列。一旦创建了一个String对象,它的值就不能改变4。这种不可变性使得String更加安全,但也带来了性能上的开销,因为每次修改字符串时都会生成一个新的对象。类是一个可变的字符序列容器,支持线程安全的操作。通过内置的同步机制,多个线程可以同时访问同一个实例而不会引发数据竞争问题3。

2025-04-26 01:14:43 907

原创 内部类与异常类

java无法为这个世界上全部问题都提供相应的异常类来代表,如果企业自己的某种问题,,想通过异常来表示,以便用异常来管理这个问题,那就需要自己来定义异常类了。有三个步骤选择基类(自定义运行时异常还是编译是异常)定义异常类抛出异常类自定义异常的种类:定义一个异常类继承RuntimeExcetion重写构造器通过throw new 异常类(xxx)来创建异常对象并抛出。编译阶段报错,提醒不强烈,运行的时候才会出现。定义一个异常类继承Exception.重写构造器。

2025-04-25 00:31:29 823

原创 Java关于接口

public interface 接口名{}接口不能实例化接口和类之间是实现关系,通过implements关键字表示public class 类名 implements 接口名{}接口的子类(实现类)(接入接口的类) 1.要么重写接口中的所有抽象方法,2.要么是抽象类。

2025-04-22 23:33:10 750

原创 Java关于抽象类和抽象方法

抽象方法的定义格式:public abstract 返回值类型 方法名(参数列表)抽象类的定义格式:public abstract class 类名{}

2025-04-01 22:01:52 275

原创 Java关于包和final和常量

包就是文件夹。用来管理等各种不同功能的java类,方便后期代码维护使用其他的规则:使用其他类,需要使用全类名。

2025-04-01 00:09:54 602

原创 算法学习之BFS

我之前疑惑的点是while(!q.empty())不知道什么时候停止,后来想了想,觉得如果广搜到最后一个位置的话,怎么判断,所以在代码中加了一个判断是否到达目标点的判断。从起点开始,往前走一步,记录下所有第一步能走到的点开始,然后从所有第一部能走到的点开始向前走第二步,重复下去,一直到终点,输出步数即可,关于BFS我的理解是根据离我们当前这个点的权重来移动,这里权重也可以理解为离这个点的距离,实现方式:广度优先搜索。下面这个做法是模拟队列。下面是用队列写的方法。

2025-03-30 16:19:31 426

原创 Java关于多态

同类型的对象,表现出不同的形态。所有子类都是父类的不同形态,通俗来就是"类对象"。

2025-03-27 23:55:51 565

原创 JAVA关于继承

this:理解为一个变量,表示方法调用者的地址值。super():代表父类存储空间。关键字 访问成员变量 访问成员方法 访问构造方法this this.成员变量 this.成员方法() this.()访问本类成员变量 访问本类成员方法 访问本类构造方法super super.成员变量 super.成员方法() super()访问父类成员变量 访问父类成员方法 访问父类构造方法this.()访问本类构造方法可能有人不懂,写一段代码.int age;//this.表示调用其他构造方法。

2025-03-27 02:53:13 2235

原创 JAVA关于static静态

这是个方法类,可以看到构造方法用private修饰不能创建对象,不过能用方法。static表示静态,是java中的一个修饰符,可以修饰成员方法,成员变量。2.私有化构造方法,(不创造对象,因为只是个方法,之调用其中的方法)创造一个学生类,变量有校长,在一个学校的学生都共用一个校长吧?所以可以定义校长为static String name;这里提到了工具类回顾一下三种类。3.方法定义为静态(都可以用)

2025-03-26 19:04:54 506

原创 JAVA关于集合

关于集合的介绍和用法

2025-03-25 01:36:17 713

原创 DFS深搜

给定一个整数 n𝑛,将数字 1∼n 排成一排,将会有很多种排列方法。按字典序输出所有排列方案,每个方案占一行。在这里假如n=3,需要看一共有几种组合方法。现在,请你按照字典序将所有的排列方法输出。对于DFS深度搜索就像是一条路走到黑。对于这道题把思路转化成代码就是。共一行,包含一个整数 n。红色的就是 深搜的路线;

2025-03-23 20:22:19 282

原创 JAVA关于String字符串

可以看作是一个容器,创建之后里面的内容是可以改变的作用:提高字符串的操作效率public StringBuilder append(任意类型) //添加数据,并返回对象本身public StringBuilder reverse()//反转容器中的内容从头到尾public int length() //返回长度(字符出现的个数)public String toString()//通过toString()就可以把StringBuilder转换成String。

2025-03-21 19:24:18 2157

原创 标准的JavaBean类 以及 一些快捷键的使用

另外有个快捷键可以快速生成空参和有参构造方法。

2025-03-19 01:01:41 314

原创 类的构造方法

类的构造方法的概述

2025-03-19 00:22:03 313

原创 Java中的 封装 以及this的用法

封装的介绍和this关键字的用法

2025-03-18 23:12:31 203

原创 Java:类和对象

类和对象的介绍和一点点延申

2025-03-18 22:39:51 481

原创 四种背包问题

背包

2025-03-11 00:09:35 876

原创 KMP字符串

核心思想:在每次失配时,不是把p串往后移一位,而是把p串往后移动至下一次可以和前面部分匹配的位置,这样就可以跳过大多数的失配步骤。而每次p串移动的步数就是通过查找next[ ]数组确定的。在这个图中1和3中的字符一样3后的不符直接移动至1看符合不符合,还不符合继续移动,不过这种移动是直接移动至能匹配的点,如果都不能匹配,最后会移动至头部从新开始,这样省了很多步骤。=p[j+1]的时候不用移动一格,只需要移动至下一次能匹配的位置。这个题最重要的是寻找模板式上的前缀和后缀的最长共有元素的长度。

2025-02-16 14:50:34 289

原创 模拟散堆标(哈希)

【代码】模拟散堆标(哈希)

2025-02-16 02:39:51 168

原创 单调队列(滑动窗口)

【代码】单调队列(滑动窗口)

2025-02-16 00:00:55 155

原创 数组模拟单调栈

这个是不用数组模拟的。

2025-02-15 23:49:51 163

原创 数组模拟队列

【代码】数组模拟队列。

2025-02-15 23:46:01 119

原创 数组模拟栈

【代码】数组模拟栈。

2025-02-15 23:42:02 118

原创 数组模拟双链表

【代码】数组模拟双链表。

2025-02-15 23:21:40 146

原创 数组模拟单链表

链表:顾名思义,依靠链状结构连接,所以在链表中遍历是靠链的。

2025-02-15 23:08:05 208

原创 P2440木材加工

因为偏左,如果只有1和0那么除数mid不能等于0,所以设置循环条件为l>1,也就是当1和0的时候mid等于1,如果切的总段数小于指定段数r等于mid-1也就是0,然后结束,输出l;题目意思:就是给你几段木头需要把他们切成固定段,保证切的长度最大,切的段数不就是,每段木头除以每段长度吗,如果切的总段数大于指定段数,长度就可以再加,就是用二分查找这个最大长度;如果连 1cm \text{1cm}1cm 长的小段都切不出来,输出。但是mid就不能等于l+r>>1;

2025-01-15 11:04:04 152

原创 P1678 烦人的高考志愿

根据 𝑛n 位学生的估分情况,分别给每位学生推荐一所学校,要求学校的预计分数线和学生的估分相差最小(可高可低,毕竟是估分嘛),这个最小值为不满意度。(或者l+r+1>>1)a[mid]肯定比a[l]或者a[r]离目标数更近;先说一下对这道题的理解,如果要找与目标数最进的数就要考虑a[mid]等于目标数的情况;所以上面的模板l=mid,r=mid;但是不能还和之前的二分模板一样,因为之前的暂停条件是l=r;因为不必须寻找等于目标数的元素,所以l和r不一定要相同;a[mid]=5>2;a[mid]=6>2;

2025-01-14 20:40:46 395

原创 P1102 A-B数对

那就是找A-C我的建议是从后开始一步步缩减范围,因为写二分不得先排序吗?从后往前一步步减小,因为B=A-CB小于A所以右指针直接变小就行。其中if (a[i] == a[i - 1])res += num;这一句就是优化一下,如果后一位数和前一位数相同的话,直接加num就行。可以看出在(1)中l和r在每次查找都是1和n。在(2)中左指针会跟着i的变化而变化。这道题因为要找A-B=C的个数;我们可以(1)固定A找B。也可以(2)固定B找A;两种方法,如果选择(1)但是(2)方法中用了。

2025-01-14 11:40:11 232

原创 二分查找关于check()问题

所以定义SL(Searchleft)函数查找左边界的时候mid=l+r>>1(整型运算不会进一所以对于整体偏左);我理解的二分查找分为查找左和查找右,因为一个数组,如果要查找这个数是数是第几位,还得知道在这个数组中有几个目标值。(1)check()函数的条件应该是a[mid]大于等于目标数,因为把如果大于等于的话,你就得规定了r=mid;(2)但是如果你把check()条件设置为a[mid]小于等于目标数,就的规定l=mid;查找2的话左边界为1,右边界为2;所以查找左边界应该如条件一。

2025-01-13 22:55:49 228

原创 N的阶乘和

在这之中a[i]就是上一个数的阶乘,然后求出一个阶乘后立刻用高精度加法加在b数组里;如果a的长度比b大,那么先操作b的长度至少等于a。可以把这个问题拆分为先求各位数的阶乘,再求和。对于阶乘,可以看作前一个数的阶乘×自己嘛;所以每求一个阶乘就是前一个的阶乘乘自己。

2025-01-13 11:49:10 219

原创 关于轮转的问题

1 2 3 4 5 6 7//编号。也就是轮转到第2位了可以看作(1+8)%7。//加上N和取余N其实抵消了(当这个数大于零的时候)再减去4也就是第5位可以看作(2-4+7)%7;所以这类题关于到了第几位数可以有一个模板吧;比如一个圈转完一圈后还会回到原点;减去B则会得到(C+N-B)%N;我说的轮转是在规定的一个范围内。加了A则会到(C+A)%N;//如果小于0则如本题;先用7个数演示一下;

2025-01-12 17:05:02 225

空空如也

空空如也

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

TA关注的人

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