自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer (每日抄题计划)

剑指offer (每日抄题计划)

2022-07-31 23:01:42 159 1

原创 springboot中配置使用thymeleaf

1.建好springboot项目新建springboot 项目2.添加依赖 <!--thymeleaf--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> &lt

2021-12-03 23:38:39 1472

原创 50(牛客Top100)-141.环形链表

给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。思路:双指针方法1:快慢指针 public boolean hasCycle(L

2021-12-02 21:50:38 323

原创 48(牛客Top100)-136.只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?思路:方法1:利用与操作public int singleNumber(int[] nums) { int single = 0; for(int i = 0; i < nums.length; i++) { single ^= nums[i]; }

2021-12-02 21:38:21 324

原创 47(牛客Top100)-128.最长连续子序列

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。思路:方法1: 利用set集合 public int longestConsecutive(int[] nums) { HashSet<Integer> set = new HashSet<>(); //1.利用set去重 for (int i = 0; i <

2021-12-02 21:31:15 91

原创 45(牛客Top100)-121.买卖股票的最优时间

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。思路:方法1:一次遍历 public int maxProfit(int[] prices) { //1.记录最小价格 int minprice = Inte

2021-12-01 20:44:41 192

原创 MySQL总结

1. 数据库基础知识1.1 什么是MySQLMySQL是一个关系型数据库管理系统,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。1.2 数据库三大范式第一范式:每个列都不可以再拆分。第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。要尽量遵守三范式,如果不遵守,必须有足够的理由。比如性能。事实

2021-11-29 22:00:33 669

原创 42(牛客Top100)-102.二叉树的层序遍历

给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。思路:用队列按层次遍历方法1:广度优先搜索 public List<List<Integer>> levelOrder(TreeNode root) { //1.用集合存储结果 List<List<Integer>> res = new ArrayList<List<Integer>>();

2021-11-29 20:51:52 88

原创 41(牛客Top100)-104.二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。思路:方法1:深度优先搜索public int maxDepth(TreeNode root) { if (root == null) return 0; else { int leftHeight = maxDepth(root.left); int rightHeight = maxDept

2021-11-29 20:11:29 75

原创 39(牛客Top100)-98.验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。思路:方法1:递归 public boolean isValidBST(TreeNode root) { return isValidBST(root, Long.MIN_VALUE, Long.MAX_VALUE); } public bo

2021-11-28 21:13:17 91

原创 40(牛客Top100)-101.对称二叉树

给定一个二叉树,检查它是否是镜像对称的。思路:方法1:递归 public boolean isSymmetric(TreeNode root) { return checkTree(root, root); } public boolean checkTree(TreeNode p, TreeNode q) { if (p == null && q == null) return true; if (p == nul

2021-11-28 20:10:50 55

原创 38(牛客Top100)-96.不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。思路:1.动态规划动态方程: public int numTrees(int n) { int[] dp = new int[n + 1]; dp[0] = 1; dp[1] = 1; for (int i = 2; i <= n; i++) { for (int j =

2021-11-28 19:41:56 229

原创 37(牛客Top100)-94.二叉树的中序遍历

给定一个二叉树的根节点 root ,返回它的 中序 遍历。思路:方法1:递归按照访问左子树——根节点——右子树的方式遍历这棵树 public List<Integer> inorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); inorder(root, res); return res; } public

2021-11-28 18:32:59 250

原创 springboot整合mybatis实现增删改查

1.新建springboot项目,连接数据库2.导入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>

2021-11-26 00:14:07 1004

原创 新建springboot项目

1.新建项目,选择Spring Initializr2.直接finish,然后就等待下载各种包,大约10分钟左右3.包变绿后,pom.xml中导入web依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>

2021-11-24 23:55:37 223

原创 36(牛客Top100)-85.最大矩阵

给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。思路:先抄下来,我也不懂方法1:单调栈public int maximalRectangle(char[][] matrix) { int m = matrix.length; if (m == 0) { return 0; } int n = matrix[0].length;

2021-11-24 23:03:20 113

原创 35(牛客Top100)-84.柱状图中最大的矩形

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。思路:方法1:栈 + 邵兵 public int largestRectangleArea(int[] heights) { int len = heights.length; if (len == 0) return 0; if (len == 1) return heights[0]; int

2021-11-24 22:48:59 94

原创 34(牛客Top100)-79.单词搜索

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。思路:方法1:回溯public static boolean exist(char[][] board, String word) { int m = board.length, n = boa

2021-11-23 23:28:38 102

原创 33(牛客Top100)-78.子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。思路方法1:二进制排序(字典排序) public List<List<Integer>> subsets(int[] nums) { //1.新建一个集合存储结果 List<List<Integer>> result = new ArrayList<>();

2021-11-23 21:15:00 92

原创 spring boot面试总结

spring boot1.概述1.1 springboot介绍Spring Boot 是 Spring 开源组织下的子项目,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。1.2 springboot优点1.方便使用,提升开发效率;2.不需要繁琐的xml配置;3.避免导入依赖包和版本冲突;4.内嵌非业务功能;如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等1.3 springboot核心注解Spring Boot 的核心注解

2021-11-22 23:07:30 293

原创 31(牛客Top100)-75.颜色分类

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。思路:双指针: public static void sortColors(int[] nums) { int n = nums.length; if (n < 2) return; //p0指向0最后一个元素的下一个元素,p1指向为2的前一个元素

2021-11-22 22:48:33 209

原创 22(牛客Top100)-48.旋转图像

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。思路:方法1:原地旋转 public void rotate(int[][] matrix){ int n = matrix.length; for (int i = 0; i < n/2; i++) { for (int j = 0; j &

2021-11-21 19:59:52 1228

原创 29(牛客Top100)-70.爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。思路:方法1:动态规划public int climbStatic(int n) { //防止数组越界 if (n == 1 || n == 0) { return n; } //1.初始化数组 int[] dp = new int[n];

2021-11-21 16:47:05 271

原创 30(牛客Top100)-72. 编辑距离

给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符思路:动态规划1.状态定义dp[i][j]表示把word1中0-i的子串变为word2中0-j的子串2.初始化二维数组,容量加1保存初始值dp[0] = 0;int[][] dp = new int[m + 1][n + 1];3.状态方程(1)如果word1[i] == word2[j],那么dp[i][j

2021-11-21 15:56:39 147

原创 28(牛客Top100)-64. 最小路径和

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。思路:动态规划1.状态定义初始化二维数组赋初值dp[0][0] = grid[0][0];2.第一行和第一列最小路径和直接加3.状态方程dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];4.返回dp[m -1][n - 1] public static int

2021-11-18 23:13:02 164

原创 27(牛客Top100)-62. 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?思路:方法1:动态规划1.状态定义初始化二维数组2.第一行和第一列都为13.状态方程dp[i][j] = dp[i - 1][j] + dp[i][j - 1];4.返回dp[m -1][n - 1]class Solution { public int uniq

2021-11-18 22:12:07 192

原创 25(牛客Top100)-55. 跳跃游戏

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-11-17 21:38:03 3217

原创 maven搭建Mybatis

搭建Mybatis环境1.新建maven项目用自己的maven包2.连接MySQL数据库3.导入mybatis依赖maven项目连接MySQL数据库 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</versi

2021-11-16 22:49:36 1213

原创 maven项目连接MySQL数据库

maven项目连接数据库1.点击database2.选择mysql3.连接数据库,设置时区1.数据库用户名;2.数据密码;3.数据库名称;4.设置时区。然后点击 Test Connection4.连接成功

2021-11-16 21:41:51 3383

原创 MVC web项目中引入jquery插件

MVC web项目中引入jquery插件1.下载jquery[https://jquery.com/]看到这样的文档,直接CTRL+S保存到自己的文件夹2.将文件夹中的js文件直接拖拽导入到项目中的web文件下,我的路径如下: static/js/jquery-3.6.0.js3.JSP中引入jquery和js文件直接在文件头部引入指定路径的js文件和导入的jquery<head> <title>Title</title> <s

2021-11-15 22:53:18 740

原创 filter和sessionListener实现session超时退出功能,过滤掉轮询请求

filter和sessionListener实现session超时退出功能1.requestFilter @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req =(HttpServletRequest) req

2021-11-15 01:06:13 991

原创 springMVC配置流程

springMVC配置流程1.新建一个maven项目,导入maven包<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.9</version&

2021-11-10 20:56:08 247

原创 2021-11-04

spring基础Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)IOCInversion of Control 控制反转IOC创建对象的方式(1)默认通过无参构造器创建对象@Datapublic class User { private String name; public User() { System.out.println("user无参构造方法,默认"); }}applicationContext.xml<

2021-11-07 20:24:21 61

原创 2021-11-01

建立spring helloword工程1.建立maven工程命名为spring-helloword;2.导入依赖<dependencies> <!--webmvc依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</arti

2021-11-01 23:36:58 69

原创 Java集合总结图

Java集合总结图

2021-10-17 11:11:18 53

空空如也

空空如也

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

TA关注的人

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