自定义博客皮肤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)
  • 收藏
  • 关注

原创 购买股票的最佳时机III和IV

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润(你最多可以完成 两笔交易)。在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。

2024-07-30 16:29:49 317

原创 动态规划和贪心算法

我们使用动态规划来维护两个状态:dp[i][0]: 第 i 天结束时不持有股票的最大利润。dp[i][1]: 第 i 天结束时持有股票的最大利润。

2024-07-27 16:47:11 710

原创 Java泛型的介绍和基本使用

Java泛型(Generics)是一种强大的特性,允许在类、接口和方法中定义类型参数,从而提高代码的重用性和类型安全性。

2024-07-26 23:28:34 940

原创 适配器设计模式

​ 我先说一个那就是把汽车的轮子换成火车的轮子,这样的话汽车也就可以在火车上跑起来了可是这样一来要想汽车再次在马路上行驶的话,还需要再次更换,将轮子在换回其车辆的轮胎,不难看出,这确实一个解决问题的办法,可是这样做不仅麻烦,而且总是更换轮子可能也会影响汽车的使用寿命,那还有没有什么好的办法呢?emm,假如说你去了美国旅游,带着笔记本和充电器喜滋滋的打算好好旅游一番,结果就在你打算给电脑充电的时候,你看着眼前的插座陷入了沉思。​ 在学习适配器模式的时候我看到了这么一个有趣的问题,和这么有张有趣的图片。

2024-07-24 18:01:04 1033

原创 基本聚集函数和case的应用

函数作用语法avg平均值SELECT AVG(字段名/列名) FROM 表名min最小值SELECT MIN(column_name) FROM 表名max最大值SELECT MAX(字段名/列名) FROM 表名sum总和SELECT SUM(字段名/列名) FROM 表名count计数SELECT COUNT(字段名/列名) FROM 表名。

2024-07-23 22:54:06 857

原创 Java实现工厂模式

简单工厂模式,又叫做静态工厂模式(Static Factory Method),由一个工厂对象决定创建出哪一种产品类的实例,传递一个参数进入静态工厂类,然后根据参数动态决定应该创建哪一个产品类。简单工厂模式是另外两种工厂的基础,通过了解简单工厂模式可以让我们对另外两种设计思路有更深入的理解和掌握工厂方法模式是对简单工厂模式的进一步抽象化。简单工厂的对象创建是在工厂类中实现的,而工厂方法模式将对象的创建延迟到子类中进行,从而实现了更好的扩展性,维护起来会更方便。

2024-07-22 18:17:14 603

原创 单例模式(Singleton Pattern)

设计模式(Design Pattern),简称DP。

2024-07-21 22:51:04 1256

原创 Jvm基础(一)

本地方法就是不使用java编写的,比如C++编写的程序,只是需要传递参数。

2024-07-19 23:32:34 1268

原创 Java反射

反射:能够分析类信息的能力叫作反射 类对象(通过反射可以得到一个类对象,类对象就是包含类信息的对象)类信息:简单来说就是,类的属性 方法 构造器。

2024-07-18 22:26:56 716

原创 Spring框架之DI依赖注入

我们在下面构建spring的过程中体会依赖注入;从上面的图中我们知道,在ssm框架中服务层(server)无法直接操作数据库,持久层(dao)是直接操作数据库进行数据处理的,但是我们如果在服务层有一个持久层的对象,然后我们在服务层通过对象去调用持久层的方法就可以操作数据库了。@OverrideSystem.out.println("持久层,你好");UserServiceImpl类中的代码如下@Override。

2024-07-18 14:13:00 1023

原创 Spring框架之IOC

ioc(控制反转)和aop(面向切面开发) Di 依赖注入ioc:将对象的创建权利反转交给Spring框架IOC的主要目的(好处):降低了程序的耦合度我们知道在Java程序中要想将对象创建交给程序来完成的话,那就只有使用反射了,其实IOC的底层就是通过反射来完成的。

2024-07-17 14:23:51 810

原创 Java快速排序

前后相邻的两个数两两进行交换,如果前面的数大于后面的就交换,否则不交换,直到最大的数到达最后,循环这一过程直至全部排序完成。一趟遍历下来排好了7的位置,然后再从头开始这次只需要拍好7前面的数组就好了,每次循环中最大的那个数,都会排好位置,就像一个气泡一个一个的到达排好的位置,所以叫做冒泡排序。

2024-07-17 10:35:12 716

原创 SQL注入问题

数据库中只有一个数据我们将拼接好的sql语句拿出来这种通过传参就能改变SQL语句原本规则的操作就是SQL注入,这个在实际开发中当然是危险的,攻击者可以把SQL命令插入到Web表单的输入域或页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令。

2024-07-16 22:52:01 424

原创 Java-String字符串(String类的使用)

/9。

2024-07-16 21:58:55 793

原创 Sql查询语句

在上一篇博客里我们已经介绍了Sql语句的增删改,以及创建了用来演示增删改的数据库和表,下面我们介绍SQL语句中最重要的查询语句。增删改博客链接(

2024-07-15 22:01:43 1313 1

原创 Sql语句之增删改查(CRUD)

Sql语句的书写也被称之为CRUD,即C(Create增加)R(Retrieve添加)U(Update更新)D(Delete删除)四个操作的首字母。我们先来看增、删、改这三个相对较为简单,语法比较固定。这是我创建的表,大家可以复制一下方便演示操作,大家在Navicat中创建数据库,然后进入新建查询,复制代码运行就好了(一下所有表均是以id为主键,并且id设置为自增)名词解释,字段指的是一个表中的一列的名字,例如下面表中的id,name等。表中的每一行叫做一个记录。

2024-07-15 10:51:55 707

原创 二叉树的遍历

定义函数preorder(TreeNode root, List<Integer> res)作用是中序遍历根节点为root的二叉树,递归出口如果根节点为空就结束。

2024-07-14 23:21:06 350

原创 求的一个最长的子字符串的长度,该子字符串中每个字符出现的次数都最少为 k(Java使用递归)

求的一个最长的子字符串的长度,该子字符串中每个字符出现的次数都最少为 k。

2024-07-14 22:11:59 952

原创 Java中的List集合

void addFirst(E element) 元素附加到列表的头部 void addLast(E element) 元素附加到列表的尾部。boolean contains(Object element)如果元素存在于列表中,存在返回true。[123, 这里的索引下标为壹, 456]下表的删除函数都会返回被删除的元素的值。[1, 2, 两, 5, 6]索引为1的元素为:789。索引为2的元素为:789。是否含有7:false。删除的元素为:456。是否含有1:true。删除索引为2的元素5。

2024-07-14 14:09:02 867

原创 Map集合

Map是映射关系的集合,里面的元素是的键值对。

2024-07-13 23:16:08 600

原创 Java中Set集合

HashSet set = new HashSet();注意:如果是基本类型请用包装类,比如:int的包装类Integerint age;@Override//先对姓名字典序比较 如果相同 比较年龄=0) {elsereturn 0;ts.add(new Person("瑞贝卡",21));ts.add(new Person("路飞",12));ts.add(new Person("三镇",8));

2024-07-13 21:49:58 471

原创 Java中的栈和队列

Queue<引用类型> queue = new LinkedList<引用类型>();注意队列的定义使用到了泛型,这让我们可以方便的创建各种类型的队列,不过“<>”(尖括号)里面必须是引用类型,或是基本数据类型的包装类。例如:Integer是int的包装类Stack<引用类型> stack = new Stack<引用类型>();注意:和队列相同这里要用包装类。

2024-07-13 17:21:14 684

原创 Java算法题-找到数组所有左边数都比它小, 右边数都比它大的数

既然要遍历两次我们想到可以找一个容器,让它先来放满足条件一的数字,然后再取出来看是否满足条件二,这样的容器我们可以想到队列和栈。但是第二遍需要从后往前遍历很显然使用栈的出栈操作正好是从后往前遍历的过程所以我们就选择它了。思路:遍历两次,一次从左往右,找到满足条件一的数,一次从后往前找到满足条件二的数,两次遍历中重复的数就是满足条件得数。2.每次遍历到新的数,就通过该数去判断,这个数是不是满足条件二,若不满足则,让栈中的数字出栈。思考:找到数组所有左边数都比它大, 右边数都比它小的数。

2024-07-12 23:44:25 194

原创 Java单边表的局部翻转

翻转全部链表。

2024-07-12 22:43:29 867

原创 Java算法之单链表的全部翻转

下一步就是让cur节点的next指向per所指的节点,不过在更改指向之前,我们需要先记录一下,cur现在的下一个节点的位置,因为如果改变指向后我们就找不到cur的下一个节点了。好我们可以看到最后一次循环迭代完成后cur指向了空,而per刚好指向了原链表的前最后个节点,也是 反转完成后链表的头节点,那这样我们就清楚循环结束的条件和该返回的头结点是什么了。开一条新的链表,将依次遍历链表,去除链表的值,并将其使用头插法,生成一条新的链表,并返回新链表的头结点。,请反转链表,并返回反转后的链表的头节点。

2024-07-12 14:35:33 847

原创 java基础之接口

接口定义使用interface关键字从用的角度来理解接口是怎么由抽象类一步一步演变来的?就是一个没有任何属性,全部由抽象方法组成的抽象类void run();@OverrideSystem.out.println("我是狗,我会跑");实现接口的类必须实现接口中的所有方法;如果不实现接口中的所有方法,那么这个类也声明为抽象类,如下public abstract class Person implements Animal{//声明为抽象类,因为未实现sleep方法@Override。

2024-07-12 11:14:53 702

原创 Java基础之内部类

private String[] sex={"男","女"};//非静态成员内部类,不在方法中定义的类class Student{//内部/*****非静态成员内部类不能直接使用在该类作用域的静态方法中***********/不过可以这样间接使用p.sleep();

2024-07-11 23:18:55 253

原创 匿名内部类和lambd表达式

匿名内部类是局部内部类的一种特殊形式,是一个没有类名的局部内部类定义一个Student类继承Person,并重写sleep方法这就引出了我们这一部分的主角,匿名内部类。我们使用匿名内部类如何实现上面的功能呢?这就是匿名内部类,我们对这个结构进行下分析首先我们都知道抽象类是无法直接生成对象的,必须通过子类,但是通过代码我们能看到,这段代码在实现功能的过程中没有通过子类,而是通过来代替了new Student(),所以正常来说,这里应该是子类的位置,现在却通过父类实现了(我称其为以父之名)。

2024-07-11 22:44:40 913

原创 java基础之异常

异常类在Java中也是非常有用的。

2024-07-10 22:52:26 841

原创 Linux常用指令

cd / 进入系统根目录cd ~进入用户目录cd 文件夹名称 进入某指定文件夹cd 文件夹1/文件夹2cd.. 回到上层目录cd../../..返回三层cd..返回上层目录cd - 返回上次操作目录。

2024-07-10 22:16:29 171

原创 Java基础从“int a = 3;“开始总结

获得一个类所有的构造函数所有的域所有成员变量所有的方法对于方法可以执行对于变量可以赋值暴力反射在各个框架中的应用java中的泛型是假的,落实到我们的类之后,就会变成Object数组但是泛型具有编程上的意义,它可以决定我们允许哪些类型进来,有一个强制的限定但是你是无法获得T、E类型的class,只能借助传递进来的变量.getclass()

2024-07-10 09:08:02 997

原创 Java基础之注解

①@interface是用来声明一个注解的,格式 public @interface注解名0②注解其中的每一个方法实际上是声明了一个配置参数③方法名称就是参数的名称④返回值类型就是参数的类型⑤可以通过default来声明参数的默认值⑥如果只有一个方法,也就是只有一个参数时,一般参数名称建议使用value,因为value在使用注解时参数名可以省略⑦注解参数如果没有设置默值,必须要使用该参数并且赋值三、注解实现。

2024-07-10 03:45:00 289

原创 Java基础之枚举

使用enum注意:定义枚举类的关键字是enum,而不是Enum(这是Java中的一个类,所有枚举类,都是该类的子类),所有java关键字都是小写,其中FRONT,BEHIND,LEFT,RIGHT,都是本类的对象实例,也就是说本类只有四个对象,在定义枚举项时,以逗号隔开,最后一个枚举项以分号结尾,如果枚举类型中只有枚举项(没有构造器,方法变量)可以省略“;",但是建议不要省略,构造方法只能是private类型。

2024-07-09 23:14:41 436

原创 伪类、伪元素和Css选择器优先级规则

语法选择器名称::before{}使用前提:不管是否需要自定义内容,必须使用content属性a::before{color:red;效果如下。

2024-07-09 09:31:31 836

原创 Java 中的拷贝

2.重写Object类中的clone方法,修改clone方法的访问权限修饰符,由protect改为public。1.构造器法(对象少量时,可以使用,要拷贝大量对象时,由于开销比较大,所以不推荐)1.实现Cloneable接口,目的是告诉jvm本类允许被拷贝。只拷贝原对象的地址,原对象的值发生改变的时候,拷贝对象的值会发生变化。是拷贝对象的所有值,原对象的值发生改变的时候,拷贝对象的值不受影响。3.Apache Common Lang序列化。直接使用"="进行赋值,使用序列化方式实现深拷贝实例。

2024-07-09 03:15:00 145

原创 配置Maven并使用IDEA新建一个简单的Springboot项目

⑥点进apache-maven-3.6.2\conf\文件夹下选择settings.xml文件。如果出现下面的提示则表示该电脑已配置maven,否则需要进行maven配置【3.6.2为版本号】⑧配置成功后的项目结构,以及会出现绿色小三角。再次使用“Win+R”打开运行窗口,输入如下后进入高级系统设置,这一行,就加上然后设置maven库的位置就好了。④点击三个点 ,配置好后点击ok。改成你刚才设置的maven库的位置,如果没有。在大概第五十行的位置将。在系统变量中,点击path后点击编辑。

2024-07-08 23:01:17 1024

原创 关于Java包装类中的“128陷阱”

我们在学习工作不仅要清楚一件事情或者工具该怎么使用,更要清楚在使用工具的过程中,java是怎么实现的,内部具体发生的事情,是怎么发生的。只有这样才能够越学越清楚,才能真正的融会贯通。

2024-07-08 20:08:25 516

原创 使用Mybatis管理数据库

MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

2024-05-25 18:54:45 951

原创 Html种类和VScode快捷键

width:设置单元格的宽度 这一列中最宽的单元格的宽度是这一列的宽度。width:设置单元格的宽度 这一列中最宽的单元格的宽度是这一列的宽度。1、使用图片要注意图片是以原时尺寸显示的,如果像设置图片尺寸,切忌图片变形使用 单方向设置图片尺寸即可。colspan:设置单元格合并的列数-->align:设置单元格中内容的对齐方式。align:设置行中每个单元格中内容的对齐方式。min数字最小值 max数字最大值 step value。-- <div></div> 竖着布局和span一样没有其他副作用-->

2024-04-18 12:07:41 1958

原创 Css选择器

E[attr属性]{}可以看到,这种选择器,指向了body的子元素ul的子元素li的子元素内容为一个链接的<a>标签。<4> div[id*="ss"]选择id属性值内容包含ss的div。<3>div[id$="ss"]选择id属性值的后缀为ss的div。<5>div[id="ss"]选择id属性值为ss的div 这个等价于。<2>div[id^="ss"]选择id属性值的前缀为ss的div。<1>div[id]{} 这个选择器会选择带有id属性的div。ID选择器是属性选择器的严格等于下的简化。

2024-02-17 20:30:14 633

空空如也

空空如也

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

TA关注的人

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