自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 31. 下一个排列(JAVA)

31. 下一个排列难度中等1450实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须** 原地 **修改,只允许使用额外常数空间。示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums = [1,1,5]输出:[1,5,1]示例 4:

2022-02-19 22:31:08 474

原创 数组模拟链表

链表为什么使用数组来模拟链表如果数据规模很大, 一个一个的new操作太慢了, 会超时, 使用数组会大大加快速度单链表数组模拟单链表**idx = 0开始的, 所以第k个元素的下标就是 k-1 传值的时候要注意 **-例题例题 :单链表 题目 视频讲解实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 k 个插入的数后面的数;在第 k 个插入的数后插入一个数。现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。注意

2022-01-09 13:05:47 151

原创 位运算基本算法模板

基本概念1.与运算(&)进行运算的两个数据,按二进制位进行“与”运算。规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;即: 两位同时为“1”,结果才为“1”,否则为02.或运算(|)进行运算的两个数据,按二进制位进行“或”运算。运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;即 :参加运算的两个对象只要有一个为1,其值为1。3.非运算:~1取0,0取1 ~1 = 0, ~0 = 1 ~(10001) = 0

2022-01-07 09:00:00 188

原创 双指针模板 最长连续不重复子序列

最长连续不重复子序列

2022-01-06 21:48:59 430

原创 寒假每日一题 2 : 干草堆 java

干草堆贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。开始时,共有 N 个空干草堆,编号 1∼N。约翰给贝茜下达了 K 个指令,每条指令的格式为 A B,这意味着贝茜要在 A…B 范围内的每个干草堆的顶部添加一个新的干草捆。例如,如果贝茜收到指令 10 13,则她应在干草堆 10,11,12,13 中各添加一个干草捆。在贝茜完成了所有指令后,约翰想知道 N 个干草堆的中值高度——也就是说,如果干草堆按照高度从小到大排列,位于中间的干草堆的高度。..

2022-01-06 18:43:22 78

原创 整数二分模板

整数二分法模板二分的本质不是单调性, 单调性的题目一定可以二分, 可以二分的题目不一定有单调性二分的本质是边界二分法用于查找, 每次都选择答案所在的区间再次进行查找, 当区间长度为 1时 , 就是答案模板一区间[l, r]被划分成 [l, mid] 和 [mid+1, r]时使用int bsearch_1(int l, int r) { while (l < r) { int mid = l + r >> 1; if

2022-01-05 16:59:56 76

原创 快排归并模板

快排模板时间复杂度 : nlog(n) 不稳定package 算法基础课;import java.lang.*;import java.util.*;import java.io.*;/** * @Author niu * @Email 2200614225@qq.com * @Date 2022/1/3 * @description 快速排序 */public class quick_sort { public static void quick_sort(i

2022-01-03 21:35:02 149

原创 寒假每日一题 1 : 笨拙的手指 java

1 : 笨拙的手指 枚举 题目 视频讲解奶牛贝茜正在学习如何在不同进制之间转换数字。但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔。每当贝茜将数字转换为一个新的进制并写下结果时,她总是将其中的某一位数字写错。例如,如果她将数字 14 转换为二进制数,那么正确的结果应为 1110,但她可能会写下 0110 或 1111。贝茜不会额外添加或删除数字,但是可能会由于写错数字的原因,写下包含前导 0 的数字。给定贝茜将数字 N 转换为二进制数字以及三进制数字的结果,请确定 N

2022-01-02 23:31:30 301 4

原创 求众数 II 摩尔投票法

229. 求众数 II难度 中等给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]提示:1 <= nums.length <= 5 * 104-109 <= nums[i] <= 109**进阶:**尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法

2021-11-21 10:40:40 92

原创 不修改数组找出重复的数字

13 . 找出数组中重复的数字 题目 提交记录 讨论 题解 视频讲解给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。注意:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1;样例给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。返回 2 或 3。使用HashSet 额外

2021-10-28 21:17:19 451

原创 200. 岛屿数量 dfs

200. 岛屿数量难度 中等给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:1示例 2:输入

2021-10-24 10:06:14 1921

原创 463. 岛屿的周长 dfs

463. 岛屿的周长难度简单459给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例 1:

2021-10-24 10:04:19 100

原创 LeetCode235. 二叉搜索树的最近公共祖先

235. 二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8

2021-10-21 21:36:47 151

原创 Docker笔记(全)

1.初始Docker1. 1 Dcoker如何解决依赖的兼容问题?将应用的Libs(函数库), Deps(依赖), 配置与应用一起打包将每个应用(比如Redis和MySQL) 放在一个隔离容器去运行,避免相互干扰但是系统不同提供的函数库有差异-1.2. Docker如何解决不同系统环境的问题 ?Docker将用户程序与所需要调用的系统(比如Ubuntu)函数库一起打包Docker运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的linux内核来运行1.3. 上

2021-10-21 11:32:47 990

原创 LeetCode107. 二叉树的层序遍历 II

107. 二叉树的层序遍历 II给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层序遍历为:[ [15,7], [9,20], [3]]题解这道题和「102. 二叉树的层序遍历」相似,不同之处在于,第 102 题要求从上到下输出每一层的节点值,而这道题要求

2021-10-20 17:25:29 55

原创 二叉树的序列化与反序列化(先序)

297. 二叉树的序列化与反序列化序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。提示: 输入输出格式与 LeetCode 目前使用的方式一致,详情请参阅 LeetCode 序列化二叉树的格式。你并非必

2021-10-20 12:03:15 82

原创 Leetcood101. 对称二叉树

101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可以运用递归和迭代两种方法解决这个问题吗?深度 :class Solution { public boolean isSym

2021-10-19 09:12:12 71

原创 Leetcode102. 二叉树的层序遍历(利用hashmap)

102. 二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序遍历结果:[ [3], [9,20], [15,7]]思路就是在层序遍历的基础上 对每一层进行记录所以创建变量 当前处理层数curLevel = 0 ; 表示正在处理第0层的数据再创建一个HashMa

2021-10-17 18:06:54 90

原创 两链表相交 找交点

面试题 02.07. 链表相交给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交**:**题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Inter

2021-10-15 21:55:40 425

原创 链表中环的入口节点 双指针 HashSet

剑指 Offer II 022. 链表中环的入口节点给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。**说明:**不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4],

2021-10-15 17:53:26 90

原创 19. 删除链表的倒数第 N 个结点 双指针

19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。**进阶:**你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <=

2021-10-14 12:29:42 93

原创 46,47.全排列问题dfs

46. 全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:1 <= nums.length <= 6-10 <= nums[i]

2021-10-13 18:20:13 94

原创 22.括号生成

22. 括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。有效括号组合需满足:左括号必须以正确的顺序闭合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8题解1 . 把问题抽象成树形问题-结果就是每一个枝中符合条件的2 . 将所有的情况列出来 进行截枝 得到

2021-10-13 15:52:19 307

原创 使用EasyExcel将Excel表格中二级分类导入对应数据库

后端接口实现1 需求从Excel表格中导入数据库中2 用代码生成器生成对应实体类serviceControllerstrategy.setInclude("edu_subject"); //使用这张表生成Controller上加跨域注解 @CrossOrigin @CrossOrigin/*Navicat MySQL Data TransferSource Server : localhost_3306Source Server Versio

2021-07-16 23:17:22 821

原创 Java统一返回类型R

为什么使用项目中我们会将响应封装成JSON返回,一般我们会将所有接口的数据格式统一, 使前端对数据的操作更一致、轻松。 一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数 据就可以。但是一般会包含状态码、返回消息、数据这几部分内容一. 统一返回数据格式{ "success": 布尔, //响应是否成功 "code": 数字, //响应码 "message": 字符串, //返回消息 "data": HashMap //返回数据,放在键值对中}二 .

2021-07-12 22:45:07 8962 2

原创 MybatisPlus代码生成器 快速上手

作用构建controller service entity mapper使用依赖<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 --><dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId></dependency>直接在测

2021-07-12 21:46:03 114

原创 MybatisPlus快速入门

简介MyBatis -Plus是MyBatis的增强版 为简化开发,提高效率而生简单入门依赖 <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId>

2021-07-11 21:22:25 273

原创 Java动态代理

代理模式静态代理 : 代理类是提前写好的动态代理 : 代理类是动态生成的静态代理中一个真实角色就会产生一个代理对象,当代理对象多了之后,代码量会翻倍,开发效率会降低,所以要使用动态代理动态代理可以代理多个类,代理的是接口!动态代理:基于接口的动态代理—Jdk动态代理基于类的动态代理—cglib动态代理下面主要讲的是JDK动态代理,需要用到 InvocationHandler 接口 ,Method 类 ,Proxy 类**1. InvocationHandler接口**Inv

2021-02-08 23:05:22 71

原创 用户名的检验是否存在案例补充了数据库查询

用AJAX和JSON以及数据库实现需要导入Jackson的jar包以及mysql数据库,Druid连接池jar包**首先准备的HTML页面,用到了JQuery先导包<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>简单注册页面</title> <!--用AJAX和JSON以及数据库实现用户名的检验是否存在案例-

2021-01-24 14:53:27 243

原创 java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException异常问题

学习中遇到的500报错原因lib文件夹位置放错位置正确位置应该放到web/WEB-INF/lib当时lib没放在WEB-INF下导致怎么也出不来放进去后要加lib里的jar包部署到项目中,解决

2021-01-09 13:14:54 1493

labuladong.pdf

labuladong.pdf 算法相关文档

2021-10-26

空空如也

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

TA关注的人

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