自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven基础

文章目录0、参考资料1、Maven概述2、Maven中的核心概念2.1、Maven工程约定目录结构2.2、Maven的生命周期2.3、Maven的常用命令2.4、插件3、Setting.xml4、POM文件5、Maven的依赖配置6、Maven常用设置6.1、全局变量(这个可以使用)0、参考资料1、Maven官网1、Maven概述Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。 Maven 这个单词的本意是:专家,内行。读音是[

2021-03-29 12:15:15 249

原创 博客导航

1、工具使用Git01、Git的基础02、Git实际使用流程MavenIDEA2、框架

2021-03-28 12:59:55 223

原创 02git开发实际流程

在这部分介绍git在工作中实际的流程文章目录1、命令行1.0、流程小结1.1、从远程项目中克隆 git clone1.2、随时查看状态 git status1.3、新建分支1.4、代码开发、修改1.5、开发完成,本地分支进行合并git merge branchName1.6、推送到远程的仓库 注意branch(一定不要推送到master分支上)git push 远程仓库名 远程分支1.7、远程仓库的合并(远程分支的操作),创建Pull request1.8、常见的一些命令小结下载、初始化对文件进行操作远程

2021-03-28 12:57:15 295

原创 01Git入门

文章目录参考资料1、Git的一些概念1.1、整体框架1.2、工作流程2、基本操作2.0 、库中文件的状态2.1、创建版本库2.1.1、本地仓库搭建2.1.2、克隆远程仓库2.2、添加add以及修改内容2.3、本地版本回退以及前进操作2.4、撤销更改2.5、删除文件3、远程仓库3.1、让本地仓库与远程仓库连接3.2、将本地仓库传送到仓库的不同branch参考资料1、廖雪峰的Git教程2、狂神说的教程3、git大全1、Git的一些概念1.1、整体框架WorkSpace:工作区,就是平时存放项目

2021-03-22 18:20:24 160

原创 学习计划

需要学习一些工具以及框架工具1、Git/Git Lab2、Maven3、IDEA以及代码调试机制4、Linux框架1、Spring2、Spring MVC3、MyBatis4、Spring Boot5、Spring Cloud6、Zookeeper7、Dubbo8、ElasticSearch9、KafKa

2021-03-19 01:16:34 102

原创 类加载过程

文章目录加载验证准备解析初始化类卸载类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中准备、验证、解析3个部分统称为连接(Linking)。如图所示。加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不

2020-09-19 21:00:20 327

原创 MySQL刷题

文章目录增删改查查找增加删除修改增删改查查找 select 目标表的列名或列表达式序列 from 基本表名和(或)视图序列 [where 行条件表达式] [group by 列名序列][having 组条件表达式] [order by 列名[asc | desc]]若ORDER BY子句后为指定ASC或DESC,默认使用ASC写法顺序:select–from–where–group by–having–order by执行顺序:fr

2020-09-12 14:41:54 313

原创 Java刷题总结

文章目录Java语法finally中执行顺序与return的关系Java中面向对象1、一些点2、实现接口与继承类重写方法的一些规则3、接口与抽象类的区别4、继承类与实现接口的区别5、类名的修饰符多线程Thread类的方法JVM1、内存回收的时机Java语法finally中执行顺序与return的关系1、finally块一定会执行,无论是否try…catch。2、finally前有return(finally中没有return语句),会先执行return语句,并保存下来,再执行finally块,最后

2020-09-12 09:58:57 407

原创 索引底层数据结构(查找)的小结 B树,B+树

文章目录索引的本质采用Hash精确查找采用二叉排序树作为索引的缺点采用红黑树作为索引的缺点B树的结构B+树结构MyISAM存储引擎索引实现InnoDB存储引擎实现B+树索引主键索引/聚集索引非聚集索引为什么InnoDB表必须有主键,并且推荐使用整型的自增主键为什么推荐使用整型的自增主键?联合索引MySqlB+树三行可以存放多少数据索引的本质采用Hash精确查找使用hash可以精确的查找,但是存在问题 select * from t where col>6对范围查找支持比较差)采用二叉排

2020-09-07 23:28:38 231

原创 堆排序

堆一顆完全二叉樹所有父節點大於子節點用数组表示完全二叉树用数组表示完全二叉树的好处是从任意一个节点出发,可以找到他的父亲节点和子节点对于一个节点i,它的父节点为(i-1)/2,它的左子节点为2*i+1,它的右子节点为2*i+2如何對堆進行調整(hepify)這是一個局部範圍的調整,對與數組中的第i個元素使得其找到對應的位置对于i节点找到其左右两个字节点,若其小于两个左右子节点则将其与左右两个子节点进行交换,之后不端向下调整即可完成heapify/**

2020-09-05 23:05:39 180

原创 笔试刷题分析

秋招的笔试的客观题部分做的很差,需要对其进行一定的整理记忆。下面这个就是对客观题的刷题的总结以牛客网为题库·计算机网络数据库操作系统算法Linux

2020-09-05 21:40:00 160

原创 LeetCode多线程的算法(面试常考的)

面试中手写的与线程有关的一些算法单例的各种模式生产者消费者模式死锁以及如何解决多线程环境下的加与减法交替打印等场景题2020/9/5开始整理 争取2020/9/10整理完

2020-09-05 21:31:05 288

原创 字符串的求和

注意进位以及若两个字符串的长度不相等如何进行简化运算 // 计算两个字符串的和 public String addStrings(String num1,String num2){ StringBuilder sb = new StringBuilder(); int carry = 0; for(int i=num1.length()-1,j=num2.length()-1;i>=0||j>=0;i--,j--){ .

2020-09-05 15:59:23 1758

原创 LeetCode38外观数列

外观数列对字符串进行统计,进行遍历,若发现是相等的字符则将相等字符的个数加1package com.zj.IString;import com.zj.CLinkedList.Problem2;/** * Author jzhou7 * Date 2020/8/18 * 外观数列 */public class Problem38 { public String countAndSay(int n) { if(n==1) return "1";

2020-09-05 15:57:16 162

原创 LeetCode实现LRU

题目要求借助JDK的LinkedHashMap参考一// 在插入一个新元素之后,如果是按插入顺序排序,即调用newNode()中的linkNodeLast()完成// 如果是按照读取顺序排序,即调用afterNodeAccess()完成// 那么这个方法是干嘛的呢,这个就是著名的 LRU 算法啦// 在插入完成之后,需要回调函数判断是否需要移除某些元素!// LinkedHashMap 函数部分源码/** * 插入新节点才会触发该方法,因为只有插入新节点才需要内存 * 根据 Has

2020-08-28 00:33:23 301

原创 LeetCode58 最后一个单词的长度

根据字符串中的空格,区分单词(很常见) // 从后往前 public int lengthOfLastWord1(String s) { int end = s.length() - 1; while(end >= 0 && s.charAt(end) == ' ') end--; if(end < 0) return 0; int start = end; while(st..

2020-08-27 23:55:01 153

原创 LeetCode字符串使用栈

文章目录LeetCode20 有效的括号LeetCode71 简化路径使用栈的情况一般是后面的元素会对前面的元素造成影响,因此将前面的元素加入栈中,后面的元素加入的时候和前面的元素进行比对,若发现某种特性则可以将栈中的元素进行弹出LeetCode20 有效的括号 /** * 有效的括号 * 使用栈 遍历整个字符串进行比较 * @param s * @return */ public boolean isValid(String

2020-08-27 23:53:09 324

原创 LeetCode之字符串与递归与回溯

文章目录LeetCode17 电话号码的组合LeetCode139单词的拆分LeetCod140 单词拆分IILeetCode22 括号生成LeetCode784 字符串大小写的全排列LeetCode17 电话号码的组合电话号码组合>>>>这道题和数组的组合很像,采用递归回溯处理即可,关键是如何对数据进行前置的处理。 public List<String> letterCombinations(String digits) { i

2020-08-27 23:51:57 538

原创 LeetCode49字母的异位词分组

这题比较巧妙,将字符串中的每个字符赋以hash质数对字符串中的每个值可以乘以对应的质数,若发现最终的乘积结果相等,则字符串为对应的易伟慈分组,利用到hashMap的变相处理方法/** * @Author zhoujian * @Date 2020/8/20 8:55 字母的异位词分组 自定义字符串的哈希规则,使用质数作为乘法因子(Java)https://leetcode-cn.com/problems/group-anagrams/solution/zi-d..

2020-08-27 23:50:05 166

原创 LeetCode回文串

文章目录思路LeetCode125 验证回文串LeetCode680 验证回文串(最多删除一个字符)思路回文串的常见三种做法:双指针,栈和reverseLeetCode125 验证回文串验证回文串采用双指针对字符串进行双向遍历,若发现当前字符串不符合要求则跳过 /** * 验证回文串 * @param s * @return */ public boolean isPalindrome(String s) { s = s

2020-08-27 22:22:09 187

原创 LeetCode使用动态规划解决字符串的问题

文章目录LeetCode5 最长回文子串LeetCode72编辑距离(两个字符串)LeetCode583 两个字符串的删除操作LeetCode139 单词拆分LeetCode91 解码方法LeetCode5 最长回文子串最长回文子串参考内容本题使用的方法是动态规划,这里需要找的是最长回文子串,首先第一步,我们需要定义dp数组的含义,定义二维布尔数组dp[i][j]dp[i][j]数组表示:字符串s[i...j]是否为回文子串,如果是,dp[i][j]=true,如果不是dp[i][j]=fa

2020-08-27 22:21:57 344

原创 LeetCode中翻转字符串的总结

文章目录方法LeetCode344翻转字符串LeetCode541 翻转字符串II(2k为一组)LeetCode557 翻转字符串中的单词LeetCode151 翻转字符串里的单词(单词不需要翻转)LeetCode345 翻转字符串中的元音字母方法将字符串转换为字符数组一般可以采用双指针对数组进行遍历若是对整个字符串进行翻转,则需要定义整个字符串的首尾指针若是对字符串中的一个个单词,则指针需要对字符穿中的一个个单词进行,(关键是如何判别单词,根据空格对字符串中的一个个单词进行区分)

2020-08-26 09:38:41 553 1

原创 LeetCode657 机器人能否返回原点

LeetCode机器人能否返回原点对字符串中字符的个数进行统计,UD为一组,RL为一组,若最终统计的结果为0则可以回到原点package com.zj.IString;/** * @Author Zhou jian * @Date 2020 ${month} 2020/8/25 0025 20:07 */public class Problem657 { /** * 统计机器人移动方位的次数 * @param moves * @return

2020-08-26 09:09:12 184

原创 LeetCode551学生出勤记录

学生出勤记录I遍历字符串,对某种特性进行统计,若A则直接进行加1,若是出现L则在package com.zj.IString;/** * @Author zhoujian * @Date 2020/8/24 23:15 */public class Problem551 { /** *使用指针进行遍历即可 * @param s * @return */ public boolean checkRecord(String s

2020-08-26 09:06:24 153

原创 LeetCode521 最长特殊序列I

最长特殊工艺序列I /** * 最长特殊序列 * @param a * @param b * @return */ public int findLUSlength(String a, String b) { if(a.equals(b)) return -1; return a.length() > b.length() ? a.length() : b.length();

2020-08-26 09:02:01 110

原创 LeetCode520 检测大写字母是否出现的位置合法

检测大写字母使用map对字符串中的每个字符出现的次数进行统计,分别按照大写字母与小写字母进行统计,最后对大写字母与小写字母的个数进行分析(按照题目的要求判断是否符合)/** * 检测大写字母 * @param word * @return */ public boolean detectCapitalUse(String word) { char[] cs = word.toCharArray(); int uppe

2020-08-26 08:59:12 180

原创 LeetCode459 重复的子字符串

重复的子字符串采用暴力的解法,对字符串中截取子字符串subStrung(0,i),对这个字符串重读i,i看看是否能够成package com.zj.IString;/** * @Author zhoujian * @Date 2020/8/24 22:12 重复的子字符串给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 */public class Problem459 { /

2020-08-26 08:54:37 149

原创 LeetCode443 压缩字符串

压缩字符串双指针,需要left和right对字符串中的连续单词进行遍历,则right-left为连续重复的次数,同时因为在元数组上进行修改,所以需要记录一个对数组中进行修改的尾指针位置,在修改的时候不断将新的值赋值给尾指针之后的位置package com.zj.IString;/** * @Author zhoujian * @Date 2020/8/24 21:44 * 压缩字符串 */public class Problem433 { /** * 压缩字符串

2020-08-26 08:49:42 192

原创 LeetCode434 字符串中单词数

字符串中单词数双指针,这里对字符串中每个单词的判定很简单就是以空格为界限,因此这里只需要根据空格来区分单词即可。package com.zj.IString;/** * @Author zhoujian * @Date 2020/8/24 21:34 */public class Problem434 { /** * 字符串中的单词书 * @param s * @return */ public int countSegmen

2020-08-26 08:43:59 168

原创 LeetCode387 字符串中的第一个唯一字符

字符串中的第一个唯一字符对于字符串中字符的次数问题,可以采用hashMap对每个字符出现的次数进行统计,先遍历以下字符串,然后再取出字符个数为1的字符package com.zj.IString;import java.util.*;/** * @Author zhoujian * @Date 2020/8/24 21:00 */public class Problem387 { // 使用字典进行遍历存储 public int firstUniqChar(

2020-08-26 08:40:30 173

原创 LeetCode383赎金信

赎金信暴力的方法,对need字符串中的每个字符出现的次数进行统计,然后在maganzie给出的字符串中的字符进行统计(采用hashMap)进行统计hash方法:对英文26个字母,每个字母计算其hash值,先对need计算对应的hash值的和,然后再对maganize计算其hash值,最终求取其差是否为0暴力的方法 // 使用缓存 public boolean canConstruct(String ransomNote, String magazine) { i

2020-08-26 08:36:43 156

原创 微服务架构的分布式如何保证事件---如何保持服务之间的数据一致性

1、CAP定理2、两阶段提交协议(2PC)保证事实一致性,可以采用2PC3、最终一致性的解决方案最终一致性的解决方案:事件驱动的架构

2020-08-20 17:08:15 254

原创 LeetCode字符串刷题分析与总结

2020/8/16 15:00 开始争取刷30-40道预计2020/8/26 完成

2020-08-16 15:11:37 739

原创 LeetCode之滑动窗口(对于子串尤其适用)

2020/8/12

2020-08-12 10:57:44 261

原创 LeetCode312 戳气球

回溯思想很显然涉及求最值,没有任何奇技淫巧,一定是穷举所有可能的结果,然后对比得出最值所以说,只要遇到求最值的问题,首先要思考的就是:如何穷举所有可能的结果穷举主要有两种算法:就是回溯算法和动态规划,前者就是暴力穷举,而后者是根据状态转移方程推导状态如何将我们的扎气球问题转化为回溯算法呢?这个应该不难想到的,我们其实就是想穷举戳气球的顺序,不同的戳气球顺序可能得到不同的分数,我们需要把所有可能的分数中最高的找出来吧那么,这不就是一个[全排列]问题吗?int res = Integer.MIN.

2020-08-11 10:19:31 172

原创 子序列的问题

文章目录两种模板1 使用一维的dp数组(这个简单一点)2、使用一个二维的dp数组2.1、涉及两个字符串/数组时(比如最长公共子序列)2.2、只涉及一个字符串/数组时LeetCode120 三角形最小路径和LeetCode516最长回文子序列两种模板1 使用一维的dp数组(这个简单一点)int n = array.length;int[] dp = new int[n];for (int i = 1; i < n; i++) { for (int j = 0; j < i;

2020-08-09 21:19:31 303

原创 字符串的动态规划问题

参考内容文章目录处理两个字符串的动态规划问题LeetCode72 编辑距离LeetCode1143 两个字符串最长公共子序列处理两个字符串的动态规划问题一般来说,处理字符串的动态规划问题,可以借鉴参考下面这张图:第一步,一定要明确 dp 数组的含义。对于两个字符串的动态规划问题,套路是通用的。比如说对于字符串 s1 和 s2,一般来说都要构造一个这样的 DP table:LeetCode72 编辑距离编辑距离>>>参考题解>>>解决两个字符串的动态规划

2020-08-09 18:00:49 536

原创 动态规划套路

首先,动态规划问题的一般形式就是求最值。动态规划其实是运筹学的一种最优化方法,只不过在计算机问题上应用的比较多既然是要求最值,核心问题是什么呢?求解动态规划的核心问题是穷举。因为要求最值,肯定要把所有可行的答案穷举出来,然后在其中找最值呗。动态规划就这么简单,就是穷举就完事了?我看到的动态规划问题都很难啊?首先,动态规划的穷举有点特别,因为这类问题存在重叠子问题,如果暴力穷举的话效率会很地下,所以需要[备忘录]或者[dp table]来优化穷举过程,避免不必要的计算。而且,动态规划一定会具备[最优子

2020-08-09 15:59:09 216

原创 LeetCode股票问题大全解

LeetCode上有6道股票问题,他们其实就是数组中是否存在数的差值最大,加上各种限制文章目录LeetCode121 买股票的最佳时机LeetCode122 买卖股票的最佳时机IILeetCode123 买卖股票的最佳时机IIILeeetCode188 购买股票的最佳时机IVLeetCode309购买股票含龙东时间LeetCode714买卖股票含手续费数组中两个数的差值最大数组中找出2对数使得其对应的差值的和最大数组中找出k对数使得其对应的差值的和最大数组中找出不限制对数使其对应的差值的和.

2020-08-08 22:05:11 259

原创 动态规划之背包问题

文章目录背包问题思路第一步明确状态:第二部明确dp数组定义:第三部:思考状态转移的逻辑第四部:思考baseCase第五步:整合代码:01背包问题基础版本LeetCode416 分割等和子集LeetCode322 凑硬币(从数组中挑选最小的元素凑成某个数)LeetCode518 从数组凑某个数的可能个数在动态规划中右一类题目,是基于背包问题进行衍生出来的,其核心就是 给顶一个数组 nums[i]根据某种要求从nums[i]种选择出某些数据,满足某种要求更细分是一堆集合中的元素是否可以重复取,那么在网上有

2020-08-08 14:44:39 406

空空如也

空空如也

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

TA关注的人

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