自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (5)
  • 收藏
  • 关注

原创 (动态规划)LC 最长递增子序列

问题方法一:动态规划用一个数组dp[i]来表示以nums[i]结尾的最长子序列的长度(必须包含nums[i]),则有以下转移式:dp[i]=max{dp[j]∣0<=j<i且nums[i]>nums[j]}+1 dp[i] = max\{dp[j] | 0 <= j < i 且nums[i]>nums[j]\} + 1dp[i]=max{dp[j]∣0<=j<i且nums[i]>nums[j]}+1如果对所有的nums[j]都大于nums[i]

2021-03-04 11:12:49 319 1

原创 (动态规划)LC 零钱兑换

问题方法一:暴力法使用dfs或者bfs遍历所有的零钱组合,如果遍历结果和超过amount则结束本次遍历,找到和等于amount的最短路径。未剪枝的情况下会超时,下面是dfs的写法int minRs = Integer.MAX_VALUE; public int coinChange(int[] coins, int amount) { if(amount == 0) return 0; quickSort(coins,0,coins.l

2021-03-02 10:29:59 378

原创 (动态规划)LC 跳跃游戏

问题方法一:暴力法遍历数组,若下标i可以到达,则将从i往后的nums[i]步内的下标标记为可以到达。public boolean canJump(int[] nums) { int len = nums.length; boolean[] flag = new boolean[len]; flag[0] = true; for(int i = 0; i < len; i++){ if(flag[i]){

2021-02-23 21:13:29 440

原创 (搜索)寻找峰值

题目方法一:线性查找public int findPeakElement(int[] nums) { int len = nums.length; if(len == 1) return 0; int first, second, third ; for(int i = 0; i < len; i++){ first = i == 0 ? Integer.MIN_VALUE : num

2021-02-16 11:03:53 526

原创 (树)剑指offer 二叉树的最近公共祖先

题目方法一:递归p和q的最近公共节点r满足要求:r的左节点为p的祖先,右节点为q的祖先。或者r的右节点为q的祖先,左节点为p的祖先。因此构建一个递归函数,如果参数root的左右节点满足以上条件,这个root即为答案。否则,root如果是p的祖先则返回p,如果是q的祖先则返回q,再则返回nullpublic TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root == null)

2021-02-10 18:13:01 315

原创 (字符串)LC相交链表

题目方法一:遍历+哈希先遍历一遍链表A,将存在的节点存入哈希表中,再遍历链表B,第一个遇到已经存在的节点,即相交点public ListNode getIntersectionNode(ListNode headA, ListNode headB) { Set<ListNode> set = new HashSet<>(); ListNode a = headA , b = headB; while(a != null){

2021-02-07 12:46:21 217

原创 (字符串)LC递增的三元子序列

题目方法一:暴力法int len = nums.length; for(int i = 0; i < len; i++){ for(int j = i + 1; j < len; j++){ if(nums[i] < nums[j]){ for(int k = j + 1; k < len; k++){ if(nums[

2021-02-06 21:21:15 162

原创 (字符串)LC最长回文子串

题目方法一:暴力法直接遍历所有的子串,找到最长的回文子串public String longestPalindrome(String s) { int len = s.length(); char[] chars = s.toCharArray(); int max = Integer.MIN_VALUE , start = 0, end = 0; for(int i = 0; i < len; i++){

2021-02-06 20:39:12 183

原创 (数组)LC多数元素

题目方法一:哈希记录每个数出现的次数,如果超过数组数量的一半,则该数为结果public int majorityElement(int[] nums) { Map<Integer,Integer> map = new HashMap<>(); int len = nums.length , tmp = 0; for(int num : nums){ tmp = map.getOrDefault(num,0

2021-02-03 11:18:44 184

原创 (数组)LC缺失数字

题目方法一:排序先一步排序,若没有缺失的数字,则应该满足nums[i]=i 所以第一个nums[i]!=i的索引值即缺失值public int missingNumber(int[] nums) { Arrays.sort(nums); for(int i = 0; i < nums.length; i++){ if(i != nums[i]) return i; } ret

2021-02-02 20:15:10 187

原创 (数学)LC计数质数

题目方法一:枚举法对于质数的定义,仅能被1和其本身整除的大于1的整数为质数。判断一个整数n是否为质数,只需看n是否可以被2~sqrt(n)的任意整数整除,若存在这个整数,则为合数,否则为质数。public int countPrimes(int n) { int sum = 0; for(int i = 1; i < n; i++){ if( isPrimes(i)){ sum++;

2021-01-31 13:23:03 259

原创 (链表)LC环形链表

题目方法一:哈希表使用哈希表记录已经走过节点,如果遍历到已经访问的,则说明有环public boolean hasCycle(ListNode head) { Set<ListNode> visited = new HashSet<>(); ListNode tmp = head; while(tmp != null){ if(!visited.add(tmp)) retu

2021-01-21 19:22:34 223

原创 (链表)LC回文链表

题目方法一:使用栈记录遍历节点,再比较栈有先进后出的特点,遍历一遍链表,依次入栈;再遍历一遍链表并依次对栈进行弹栈操作并比较是否满足回文要求public boolean isPalindrome(ListNode head) { Stack<ListNode> stack = new Stack<>(); ListNode tmp = head; while(tmp != null){ stack.pu

2021-01-21 18:43:58 386

原创 (链表)LC合并两个有序链表

问题方法一:迭代拼接依次比较头结点,将小的节点加入到结果中 public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null) return l2; if(l2 == null) return l1; ListNode head = new ListNode() , tmp = head; while(l1 !=

2021-01-20 17:34:39 255

原创 (链表)LC删除链表中的节点

题目方法一未提供head节点,不要被固有思维影响,可以直接对node的val操作 public void deleteNode(ListNode node) { node.val = node.next.val; node.next = node.next.next; }

2021-01-20 15:42:17 163

原创 (字符串)LC最长公共前缀

题目方法一:纵向比较对字符串数组的每一个串按位依次比较,首次不同的位次,即最长前缀结束位置public String longestCommonPrefix(String[] strs) { if(strs.length == 0) return ""; int minLen = Integer.MAX_VALUE; for(String str : strs){ minLen = Math.min(mi

2021-01-20 14:33:40 322

原创 (字符串)LC实现 strStr()

题目方法一:子串直接比较失配时,haystack定位到下一个字符,needle定位到第一个字符,重新尝试匹配public int strStr(String haystack, String needle) { if(needle.length() == 0) return 0; char[] hChars = haystack.toCharArray(); char[] nChars = needle.toCharArray

2021-01-19 16:37:31 182

原创 (字符串)LC字符串中的第一个唯一字符

题目https://leetcode-cn.com/problems/first-unique-character-in-a-string/方法一:哈希表记录频次遍历一遍字符串,使用一个Map记录字母出现的频次,再一次遍历字符串,第一个出现频次为1的位置即答案。 public int firstUniqChar(String s) { Map<Character , Integer> map = new HashMap<>(); char[]

2021-01-15 11:01:02 229

原创 赛程整理——首届云原生编程挑战赛赛道3

首届云原生编程挑战赛3:服务网格控制面分治体系构建 赛程整理队伍:本地小有名气的年轻人们最终分数:7696.0186历史最好分数:7545.4066最终排名:11.题目解析赛题链接:https://code.aliyun.com/middleware-contest-2020/pilotset导师解析:https://tianchi.aliyun.com/forum/postDetail?postId=1097322.工程目录结构controller包下为三个接口constant下包含

2020-07-16 15:58:21 443

原创 设置shiro认证和授权失败返回json而不是重定向

在使用shiro时,一般对未认证或未授权的请求统一过滤并做出响应,大体有以下配置:<!-- 未认证时返回的页面(被authc user logout 等认证拦截器拦截后)访问的url --><property name="loginUrl" value="/user/unAuthenticated.do"/> <!-- 未授权时返回的页面(被roles 等授权拦...

2020-02-08 20:10:43 6265 4

原创 解决Springboot+ajax跨域及每次请求sessionId不一样的问题

1、问题复现:项目中后端使用Springboot搭建,使用Shiro做安全管理。前后端分离后,前端使用ajax访问服务端程序。在未做任何处理前,ajax报错:Access to XMLHttpRequest at 'http://127.0.0.1:8080/login/checkLogin' from origin 'http://localhost:63342' has been blo...

2020-02-07 22:46:54 3225 3

原创 Tomcat无法使用80端口:Permission denied (Bind failed) <null>:80

在阿里云Centos系统下,使用yum安装tomcat7,但无法绑定80端口。通过查阅各种解决方法,已经排除了以下几个:防火墙已经开放相应端口阿里云已经添加了安全组信息阿里云域名已经备案成功已经尝试过用root用户启动tomcat通过查看Tomcat的启动日志,发现是Tomcat本身的问题:Permission denied (Bind failed) <null>:8...

2020-01-19 21:25:06 2204

原创 使用SSM框架上传文件

使用SSM框架完成简单文件上传功能,SSM的整合不再赘述。1、写一个jsp:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charse...

2020-01-12 10:02:35 369

原创 Shiro+SSM基本使用

一、Shiro功能Authentication:身份认证/登录Authorization:授权(权限验证)Session Manager:会话管理,会话可以是Java SE环境也可以是Java EE环境。使用Shiro,在service层和dao层也可以直接活动session对象,实现解耦Cryptography:加密Caching:缓存,比如用户登录后,其用户用于的...

2020-01-11 22:13:11 378

原创 MySQL数据库—InnoDB事务的实现

目录一、InnoDB对事务的实现二、日志恢复技术1、redo log1)格式2)落盘3)LSN4)恢复2、undo log三、并发控制1、锁1)锁的分类2)使用锁3)作用规则4)InnoDB行级锁2、并发控制1)一致性非锁定读(快照读)2)一致性锁定读(当前读)一、InnoDB对事务的实现在数据库事务、并发问题及隔离级别中提到,事务的实现主要是针对事务的四个特性,分别为隔离性、一致性、原子性、...

2019-12-07 15:11:24 1063

原创 MySQL数据库—性能分析及Explain

目录一、性能分析一般步骤二、MySQL常见瓶颈三、MySQL执行计划Explain1、Explain作用2、用法3、各个字段解释一、性能分析一般步骤对MySQL性能分析一般需要经过以下步骤:慢查询的开启并捕获# 设置慢查询阈值 秒set global long_query_time=3;# 开启慢查询set global slow_query_log=1;# 输出到slow_...

2019-12-05 17:49:27 520

原创 MySQL数据库—InnoDB索引

目录一、什么是索引二、索引的分类三、索引的创建1、索引创建2、创建建议四、InnoDB存储引擎索引1、B+树2、InnoDB存储引擎索引类型3、聚集索引4、辅助索引1)单值辅助索引2)复合辅助索引5、行记录的插入五、索引覆盖六、索引失效和错误使用索引1、possible_keys和key2、索引失效例子1)使用范围筛选容易索引失效2)辅助索引字段进行类型转换3、错误使用索引例子1)使用没有创建索引...

2019-12-04 16:46:01 455 1

原创 MySQL数据库—InnoDB数据页结构

目录一、页二、数据页结构图三、File Header四、Page Header五、Infimun和Supremum Record六、User Record和Free Space七、Page Directory八、File Trailer一、页页是InnoDB磁盘管理的最小单位,默认每页为16KB,从InnoDB1.2.x开始,可以通过innodb_page_size参数将页设置为4K、8K、1...

2019-12-02 20:14:00 2163 1

原创 MySQL数据库—InnoDB行存储格式

目录一、InnoDB支持的行存储格式二、Compact记录格式1、变长字段长度列表(1)对varchar类型字段长度的存储(2)对char类型字段长度的存储2、NULL标志位3、记录头信息4、RowID5、Transaction ID和Roll Point6、列数据7、一完整行的存储例子三、Compact记录格式下的行溢出四、其他行记录格式1、Redundant2、Compressed和Dynam...

2019-12-01 21:30:59 2468

原创 数据库事务、并发问题及隔离级别

目录一、什么是事务二、为什么要使用事务三、事务并发问题1、脏写2、脏读3、不可重复读4、幻读四、事务的隔离级别1、读未提交(READ UNCOMMITTED)2、读已提交(READ COMMITTED)3、可重复读(REPEATABLE READ)4、串行化(SERIALIZABLE)一、什么是事务我们学习数据库,经常看到数据库事务,ACID事务等相关的概念,抛开数据库,可以将事务更广泛的定义...

2019-11-26 13:25:39 719

原创 从零开始上手Maven项目

本文介绍Maven的作用及基本用法,后用Maven搭建一个ssm demo,希望通过以下的内容,可以让小白用起Maven。至于Maven的一些高级用法及底层原理,这里不涉及,还需在工程、学习中积累,也希望得到大佬的指教,和大家一起进步。一、为什么使用Maven你是否遇到过下面的这些情况:1、使用一个框架(如spring),需要依赖的jar包太多太杂,每次要找到整理好保存在磁盘中的jar包文件...

2019-11-17 16:20:33 529 1

原创 【避坑】Eclipse导入Maven项目com.sun.image.codec.jpeg不存在

使用jdk1.8Eclipse导入Maven项目项目中有两行importimport com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;maven编译不过:com.sun.image.codec.jpeg不存在通过https://blog.csdn.net/wm...

2019-10-31 17:44:09 943

原创 MySQL数据库—存储过程与函数

目录一、变量1、系统变量(1)全局变量(2)会话变量2、自定义变量(1)用户变量(2)局部变量二、存储过程1、优点2、存储过程的创建3、存储过程的调用4、存储过程的查看5、存储过程的删除6、案例三、函数1、存储过程和函数的比较2、函数的创建3、函数的调用4、函数的查看5、函数的删除6、案例四、流程控制结构1、顺序结构2、分支结构(1)IF结构a.IF作表达式b.IF作语句(2)CASE结构a.CA...

2019-10-25 18:51:01 816

原创 MySQL数据库—SQL汇总

一、准备下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例sql:链接: https://pan.baidu.com/s/1tb3-12MRNFjV8drFlN6wzg&shfl=sharepset 密码: fc2h为了方便查阅可从右侧目录快速索引二、DQL(Data Query Language)数据查询语言1、语句顺序书写顺序...

2019-10-24 20:43:10 73784 53

原创 虚拟机下搭建NFS+OpenMPI运行环境

一、准备用node1、node2、node3搭建一个OpenMPI多节点运行环境搭建几个节点:https://blog.csdn.net/qq_37969433/article/details/102263861openmpi-4.0.2.tar.xz二、安装OpenMPI在node123执行以下步骤:1、安装gcc和g++yum install gccyum install g...

2019-10-16 16:48:40 774

原创 虚拟机下搭建Hadoop集群

一、准备VMware Workstation pro 15CentOS-6.5-x86_64-minimalHadoop 3.1.1二、安装CentOS6.5以下未出现的安装过程中的步骤,均可以选择默认选项。打开VMware,创建虚拟机,选择自定义安装:选择稍后安装操作系统:输入虚拟机名字及安装的路径,这里只影响在VMware中显示的名字:内存选择1G以上...

2019-10-07 21:48:18 607

原创 JVM初识(三)—GC垃圾回收机制

一、四类引用强引用(FinalReference):存在就不会被GC回收软引用(SoftReference):内存不足时,GC启动就会被回收弱引用(WeakReference):GC启动就被回收虚引用(PhantomReference):无意义,唯一的目的就是让对象在被回收时获得一个系统通知二、GC种类将Java堆再细分可分为新生代和老年代,其比例默认为1:2;对新生代细分为Ede...

2019-10-06 14:04:59 1011

原创 JVM初识(二)—类加载机制

本文参考《深入理解Java虚拟机》,并通过几个实例,整理JVM的类加载机制相关内容。涉及类加载的过程、类加载的时机和类加载器。本文内容结构:一、类加载过程虚拟机把描述类的数据从Class文件加载到内存,并对数据进行进行校验、转换解析和初始化。最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期包括以下几步:其...

2019-09-27 14:15:58 228

原创 JVM初识(一)—JAVA运行时内存区域

本文整理我学习JVM规范的相关知识,内容较为浅显,也可能理解有误,望指教。下文涉及:JAVA运行时内存区域(图示+解释)类加载机制(加载过程、加载时机、类加载器)一、JAVA运行时内存区域1、线程私有区域线程私有区域包括程序计数器、虚拟机栈、本地方法栈线程私有是指,所涉及的这几个内存区域,是每条线程独自拥有的,即每条线程启动时,都会创建属于该线程的程序计数器、虚拟机栈、本地方法栈...

2019-09-25 18:37:27 427

原创 2016年蓝桥杯国赛JavaB组碱基问题

问题描述碱基生物学家正在对n个物种进行研究。其中第i个物种的DNA序列为s[i],其中的第j个碱基为s[i][j],碱基一定是A、T、G、C之一。生物学家想找到这些生物中一部分生物的一些共性,他们现在关注那些至少在m个生物中出现的长度为k的连续碱基序列。准确的说,科学家关心的序列用2m元组(i1,p1,i2,p2…im,pm)表示,满足:1<=i1<i2<…<i...

2019-05-18 16:27:23 776

libicu52.deb

ubuntu系统无法通过apt安装libicu52,在安装redis可视化客户端时需要这个依赖,这里提供直接安装libicu52的deb文件(64位)

2020-01-03

py_innodb_page_info.zip

《mysql技术内幕-InnoDB存储引擎》中使用的页分析工具类py_innodb_page_info

2019-12-01

ssm开发框架完整jar包

ssm开发框架完整jar包,sprint3.2.16,mybatis3.1.1,完整整合jar包

2019-01-29

mysql-connector-java

mysql-connector-java 3.1.12 5.1.40 两个版本

2018-04-08

计算机等级考试三级四级信息安全 部分知识总结

准备半个月过三四级 计算机等级考试三级信息安全技术、四级信息安全工程师真题考点 部分总结(提取自真题)

2018-03-26

空空如也

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

TA关注的人

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