- 博客(155)
- 收藏
- 关注
原创 算法之二维装水问题
算法之二维装水问题给定一个数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水比如,arr = {3,1,2,5,2,4}根据值画出的直方图就是容器形状,该容器能装下5格水。
2025-03-06 23:08:06
486
原创 算法之求划分后左侧最大值减去右侧最大值的最大差值
给定一个数组arr长度为N,你可以把任意长度大于0且小于N的前缀作为左部分,剩下的作为右部分。但是每种划分下都有左部分的最大值和右部分的最大值,请返回最大的,左部分最大值减去右部分最大值的绝对值。
2024-12-20 09:32:35
451
原创 算法之物品移动
有n个打包机器从左到右一字排开,上方有一个自动装置会抓取一批放物品到每个打包机上,放到每个机器上的这些物品数量有多有少,由于物品数量不相同,需要工人 将每个机器上的物品进行移动从而到达物品数量相等才能打包。每个物品重量太大、 每次只能搬一个物品进行移动,为了省力,只在相邻的机器上移动。请计算在搬动最小轮数的前提下,使每个机器上的物品数量相等。如果不能使每个机器上的物品相同, 返回﹣1。
2024-12-20 00:38:22
472
原创 servlet的请求转发和响应重定向
请求转发(Request Forwarding):请求转发是指服务器端将请求从一个 Servlet 转发到另一个 Servlet、JSP 页面或 HTML 页面,整个过程在服务器内部进行,对于客户端来说,只发送了一次请求,地址栏的 URL 不会发生改变。响应重定向(Response Redirect):响应重定向是指服务器向客户端发送一个特殊的响应,告诉客户端重新发送一个新的请求到另一个 URL,客户端收到这个响应后,会自动向新的 URL 发送请求,这会导致地址栏的 URL 发生改变
2024-12-19 09:56:12
1232
原创 Servlet的注解式开发
Servlet的注解式开发是Java EE 6规范引入的特性,旨在简化Servlet的配置过程,减少对web.xml文件的依赖,从而提高开发效率。从Servlet 3.0版本开始,开发者可以通过注解直接在Java类中配置Servlet,而无需手动编辑web.xml文件。这种开发方式不仅提高了代码的可读性和维护性,还使得项目管理更加高效。
2024-12-18 22:43:04
1183
原创 Servlet的生命周期
Servlet的生命周期包括加载和实例化、初始化、请求处理、销毁和垃圾回收几个阶段。 这些阶段确保了Servlet能够正确地初始化、响应请求、释放资源并最终被回收。每个阶段都有其特定的方法调用,如init()、service()和destroy(),这些方法共同定义了Servlet的行为和生命周期管理机制。
2024-12-17 23:28:27
1085
原创 Servlet介绍与配合javaWeb的使用
Servlet是一种Java编写的服务器端程序,用于处理HTTP请求并生成动态Web内容。Servlet通常运行在支持Java的应用服务器或Servlet容器中,如Apache Tomcat、Jetty、WebLogic Server、WebSphere和JBoss等。Servlet的核心是Servlet接口,它定义了与Servlet容器的契约。Servlet容器负责加载、实例化并调用Servlet类的方法。Servlet接口继承自GenericServlet和HttpServlet,分
2024-12-16 22:26:21
1202
原创 使用idea创建一个JAVA WEB项目
JavaWeb项目是一种基于Java技术的Web应用程序,主要用于开发动态网页和Web服务。这种项目能够构建在Java技术栈之上,支持开发人员利用Java语言的强大功能来创建高度互动和功能丰富的Web应用。
2024-12-14 22:56:18
1198
原创 Http协议在网站中的体现
HTTP(超文本传输协议)是一种广泛应用于互联网上的应用层协议,用于在Web浏览器和Web服务器之间传输数据。HTTP协议定义了客户端(通常是浏览器)与服务器之间的通信规则,使得浏览器能够请求网页资源,并将这些资源呈现给用户。
2024-12-14 15:16:33
1153
原创 Tomcat的下载和使用,配置控制台输出中文日志
Tomcat,全称为Apache Tomcat,是一个开源的Web应用服务器和Servlet容器,由Apache软件基金会的Jakarta项目开发。它实现了Java Servlet和JavaServer Pages(JSP)技术规范,广泛用于运行基于Java的Web应用程序
2024-12-13 21:51:40
1049
原创 windows安装gradle
Gradle是一个开源的项目自动化构建工具,专注于灵活性和性能。它基于 Apache Ant和 Apache Maven 的概念,但采用了 Groovy 或 Kotlin 作为领域特定语言(DSL)来编写构建脚本,从而抛弃了传统的 XML 配置方式。
2024-12-13 20:29:43
537
原创 23种设计模式之状态模式
状态模式(State Pattern) 是一种行为型设计模式,允许对象在其内部状态改变时改变其行为。这种模式通过将对象的状态和行为解耦,使得状态的变化不会直接影响对象的行为,从而提高了代码的可读性和可维护性。
2024-12-13 00:11:32
940
原创 23种设计模式之访问者模式
访问者设计模式(Visitor Pattern)是一种行为型设计模式,其核心思想是将数据结构和操作分离,通过将操作封装到独立的访问者对象中,实现对对象结构中的元素进行操作。这种模式允许在不改变现有对象结构的前提下,为对象结构中的元素添加新的操作。
2024-12-12 23:09:12
932
原创 23种设计模式之责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,旨在解决请求发送者和接收者之间的耦合问题。通过将多个对象连接成一条链,请求沿着这条链传递,直到某个对象决定处理该请求为止。这种模式允许系统动态地重新组织和分配责任,而不会影响客户端。
2024-12-11 23:04:59
1446
原创 23种设计模式之中介者模式
中介者模式(Mediator Pattern)是一种行为设计模式,它通过定义一个中介对象来封装一系列对象之间的交互。中介者使各对象之间不需要显式地相互引用,从而使它们之间的耦合松散,并且可以独立地改变它们之间的交互。
2024-12-11 22:42:58
1274
原创 算法之要求对任意的i,j,k三个位置,如果i < j < k,都有arr[i] + arr[k] != arr[j],返回构造出的arr。
给定一个正整数`M`,请构造出一个长度为M的数组arr,要求对任意的i,j,k三个位置,如果i < j < k,都有arr[i] + arr[k] != arr[j]返回构造出的arr。
2024-12-11 01:13:45
336
原创 23种设计模式之命令模式
命令模式(Command Pattern)是一种行为设计模式,它将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。
2024-12-11 00:30:49
1395
原创 23种设计模式之备忘录模式
备忘录模式(Memento Pattern) 是一种行为设计模式,它允许在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便之后可以将对象恢复到之前保存的状态。例如,在文本编辑器软件中,用户可能会进行一系列的编辑操作,如输入文字、删除段落等。备忘录模式可以用来保存文本编辑器在各个操作阶段的状态,当用户想要撤销操作时,就可以利用保存的备忘录将文本恢复到之前的某个状态。
2024-12-11 00:14:45
1474
原创 23种设计模式之观察者模式
观察者模式(Observer Pattern)是一种行为设计模式。它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象的状态发生变化时,会通知所有的观察者对象,使它们能够自动更新自己的状态。例如,在新闻发布系统中,新闻机构是主题(被观察对象),订阅新闻的用户是观察者。每当新闻机构发布一条新的新闻(主题状态改变),所有订阅的用户(观察者)都会收到通知,然后可以根据自己的需求来查看这条新闻。
2024-12-09 02:25:26
1487
原创 算法之一行正方形红绿染色
有一些排成一行的正方形。每个正方形已经被染成红色和绿色。现在可以选择任意一个正方形然后用这两种颜色的任意一种进行染色,这个正方形的颜色将被覆盖。目标是在完成染色之后,每个红色`R`都比每个绿色`G`距离最左侧近。返回最少需要涂染多少正方形。
2024-12-09 01:29:11
420
原创 算法题之长度为 K 的绳子,最多能盖住几个点
给定一个有序数组arr,从左到右依次表示X轴上从左往右点的位置给定一个正整数K,返回如果有一根长度为K的绳子,最多能盖住几个点绳子的边缘点碰到X轴上的点,也算盖住。
2024-11-30 01:46:47
278
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人