1PHAN's blog

标签 · java

首页

关于

归档

loading..
java算法

图解算法数据结构之树

彩灯装饰记录 I一棵圣诞树记作根节点为 root 的二叉树,节点值为该位置装饰彩灯的颜色编号。请按照从 左 到 右 的顺序返回每一层彩灯编号。 ==其实说是最基础的BFS== import java.util.LinkedList; import java.util.Queue; /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int..

更多
loading..
java算法

图解算法数据结构之栈与队列

图书整理读者来到图书馆排队借还书,图书管理员使用两个书车来完成整理借还书的任务。书车中的书从下往上叠加存放,图书管理员每次只能拿取书车顶部的书。排队的读者会有两种操作: push(bookID):把借阅的书籍还到图书馆。pop():从图书馆中借出书籍。为了保持图书的顺序,图书管理员每次取出供读者借阅的书籍是 最早 归还到图书馆的书籍。你需要返回 每次读者借出书的值 。 如果没有归还的书可以取出,返回 -1 。 示例 1: 输入:[“BookQueue”, “push”, “push”, “pop”][[], [1], [2], []]输出:[null,null,null,1]解释:MyQueue myQueue = new MyQueue();myQueue.push(1); // queue is: [1..

更多
loading..
java算法

图解算法数据结构之字符串

路径加密 class Solution { public String pathEncryption(String path) { StringBuilder b = new StringBuilder(); for(char c : path.toCharArray()){ if(c == '.') b.append(' '); else b.append(c); } return b.toString(); } } 字符串单词翻转 import java.util.*; class Solution { public String reverseMessage(Str..

更多
loading..
java算法

数组相关练习

数组调整教练使用整数数组 actions 记录一系列核心肌群训练项目编号。为增强训练趣味性,需要将所有奇数编号训练项目调整至偶数编号训练项目之前。请将调整后的训练项目编号以 数组 形式返回。 也就是说奇数均放到偶数后面 简单想法使用List,来一个奇数add一个,最后再搞偶数就彳亍。 class Solution { public int[] trainingPlan(int[] actions) { List<Integer> li = new ArrayList<>(); for(int i = 0; i < actions.length; i++){ if(actions[i] % 2 == 1){ ..

更多
loading..
java算法

链表相关练习汇总

来源为:LeetCode图解算法数据结构 图书整理 I书店店员有一张链表形式的书单,每个节点代表一本书,节点中的值表示书的编号。为更方便整理书架,店员需要将书单倒过来排列,就可以从最后一本书开始整理,逐一将书放回到书架上。请倒序返回这个书单链表。 示例 1: 输入:head = [3,6,4,1] 输出:[1,4,6,3] 提示: 0 <= 链表长度 <= 10000 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val ..

更多
loading..
java

Spring之MVC

SpringMVC基于Spring的javaweb 基本使用添加依赖,不要加这么多<dependencies> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.10</version> <!-- 使用适用于 Java 17 的 Spring 版本 --> </dependency> <!-- S..

更多
java

Spring之AOP

AOPAOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,它通过将横切关注点(cross-cutting concerns)从主要业务逻辑中分离出来,使得我们能够更清晰、更模块化地组织和维护代码。 在传统的面向对象编程中,我们主要关注业务逻辑的实现,例如类的行为、方法的执行流程等。然而,很多应用都包含一些横切关注点,例如日志记录、事务管理、安全控制、性能优化等,这些关注点不属于核心业务逻辑,但却分布在整个代码基底。AOP 的目标就是将这些横切关注点模块化,使得我们能够更好地维护和管理它们。 AOP 主要通过两个概念来实现:切面(Aspect)和连接点(Join Point)。 切面(Aspect): 切面是一个模块化单元,它封装了横切关注点的代码。切面定义了在何处..

更多
java

Spring之IOC

IOC“IOC” 是 “Inversion of Control”(控制反转)的缩写。这是一种编程原则,它改变了传统的程序设计流程,主要体现在对象的控制权从应用程序代码中转移到外部容器(通常是框架或容器)。 在传统的程序设计中,应用程序代码负责创建和管理对象。但在控制反转中,这一控制权被颠倒过来,对象的创建和管理被外部容器负责。这意味着,应用程序不再直接创建对象,而是通过容器提供的机制来获取所需的对象。 具体来说,在 Java 中,常常使用 Spring 框架实现控制反转。在 Spring 中,对象的创建和依赖关系的管理交给了 Spring 容器。通过配置文件或注解,开发者描述了对象之间的关系,而不需要手动创建这些对象。Spring 容器负责根据配置文件或注解,实例化对象、管理它们的生命周期,并在需要的地方..

更多
java

学习记录之MVC

MVCMVC(Model-View-Controller)是一种软件设计模式,用于组织应用程序的结构,以使其更容易理解、维护和扩展。这个模式将应用程序分为三个主要组成部分:模型(Model)、视图(View)和控制器(Controller)。 模型(Model): 模型代表应用程序的数据和业务逻辑。它负责处理应用程序的数据存储、检索、更新和验证。模型是应用程序中负责处理数据和业务规则的部分。 视图(View): 视图负责展示数据给用户并接收用户的输入。它是用户界面的部分,负责呈现模型的数据以及将用户的输入传递给控制器。视图通常包括用户界面元素,如图形界面、网页或终端输出。 控制器(Controller): 控制器是模型和视图之间的中介。它负责接收用户输入、更新模型和更新视图。控制器从视图接收用户的..

更多
loading..
java

学习记录之JSP

JSPJSP(JavaServer Pages)是一种用于创建动态Web页面的Java技术。它允许开发人员将Java代码嵌入HTML页面中,以生成动态内容。JSP是在服务器端执行的,它与Servlet一起用于构建Web应用程序。 以下是关于JSP的一些关键点: 动态内容生成: JSP允许将Java代码嵌入到HTML页面中,使开发人员能够轻松地生成动态内容。这些Java代码被包装在特殊的标签 <% %> 中。 易于学习和使用: 对于熟悉HTML和Java的开发人员而言,学习和使用JSP相对容易。JSP页面的外观类似于常规的HTML页面,但具有嵌入的Java代码。 与Servlet结合使用: JSP本质上是Servlet的一种简化形式。当JSP页面首次被访问时,容器会将其转换为一个Servlet,..

更多
12