自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows中 docker部署zookeeper

因为在很多开发环境中需要使用到很多中间件,而有些中间件在windows中相对比较麻烦,它可以使用一些特殊的方法安装为windows的服务,但是这些中间件并不是特别常用的,所以使用docker来安装可以更好的对这些中间件启用做比较好的控制,而且还能起到一定的隔离作用。通过docker 容器我们可以快速部署一些中间件,可以达到一个快速上手的目的,而且大部分中间件都能在仓库中找到相对应的镜像,可以减少自己安装过程中遇到的很多由于系统、版本引起的问题。可以使用命令进行重置端口,可能就能使用了。

2023-07-15 23:21:34 453

原创 windows中docker遇到的坑

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统上,也可以实现虚拟化。在配置过程中遇到了问题docker desktop requires a newer WSL kernel version。通过官网下载Docker Desktop然后安装重启即可。然后在github中遇到了有人碰到了相似的问题。之后再次启动Docker Desktop。使用wsl --shutdown 关闭。试一下wsl --install。

2023-06-08 12:52:38 447

原创 快速使用kafka以及遇到的坑

使用环境 windows11 kafka2.21-3.40需要下载的是binary download ,也就是二进制版本,下载source 源文件的话无法正常使用因为kafka依赖于java环境和zookeeper,但是新版本中已经集成了zookeeper,所以只需要jdk就好了环境搭配好了就可以开始启动kafka了。

2023-05-10 21:21:40 224

原创 23.05.05每日一题

题目意思就是计算那个工作区间最长,返回其id,如果存在多个则返回id最小的。直接枚举出来每个工作区花费的时间,进行比较即可求出结果。

2023-05-05 00:27:50 89

原创 23.05.04每日一题

可以转换成为求一个可变区间在什么时候果实数量最大,通过步数和起始点就能够得到区间的左右边界值,然后使用二分来快速计算区间内的果子,最后求得最大值。题目意思是二维数组fruilts保存了,那些点位有多少水果,现在给一个坐标出发点,然后可以移动k步,求最多可以获得多少果实。时间复杂度O(n+klogn)

2023-05-04 23:58:12 43

原创 23.05.03每日一题

题目意思是判断一个字符串是否由一个空字符串添加"abc"构成的,是的话返回true,否则返回false;可以反向思考遇到“abc”就删去,如果最后能变成空字符串,那就说明它是由空字符串构成的。当时脑抽,写的好复杂了,看了下评论区的。

2023-05-03 22:45:24 42

原创 23.05.02每日一题

直接暴力模拟所有满足要求的,然后使用set去重。题目意思就是求满足要求的所有强整数且不重复。时间复杂度O(log^2 bound)时间复杂度O(log^2 bound)

2023-05-02 11:30:33 51

原创 23.05.01每日一题

题目意思就是消息一级一级传递,所有员工收到消息需要多少时间,可以理解为求每个员工收到消息所用时间,再求最大值。再dfs中存在很多重复计算,可以使用缓存来保存避免重复计算。时间复杂度O(n*m) n为员工数 m为搜索的深度。用深度搜索每个员工收到信息的时间求最大值。

2023-05-01 18:01:16 46

原创 23.04.30每日一题

题目意思为三个数字,每次只能移动最大最小的数字,且移动范围在这两个数字之间,直到移动成三个数字相邻,返回最小次数和最大次数。而最小移动次数就最多两次,一次的情况就是另外两个数的间距小于2,不用移动就是已经相邻。其中最大次数就是慢慢移动中间的所有空位。

2023-04-30 15:03:22 45

原创 23.04.29每日一题

分类什么情况可以满足要求如果统计出现频率次数于无论怎么删除都没有用,所以值考虑 1,2。题目意思就是字符串中去掉一个字符能满足剩下字符出现频率一样就返回true.然后统计出现的频率次数对应以及该出现该频率的字符数。统计字符串中每个字符出现的次数。

2023-04-29 22:48:25 33

原创 23.04.28每日一题

其中push()与pop()方法都是再栈的集合遍历,这里浪费了很多时间,可以继续优化。可以使用最小堆来记录没有满的栈,然后维护最小堆。根据题目意思直接模拟动态创建栈,倒是会超时。时间复杂度O(nlogn)

2023-04-28 23:08:19 46

原创 23.4.27每日一题

思路 对单词按照长度进行排序,因为单词链的长度是逐步增加的,用map进行保存以该单词为终点的单词链最大长度,对每个单词进行分割遍历,是否有可以匹配的单词可以合成单词链,有的话计算长度,然后统计最大值。题目意思为单词数组获取单词链的最大长度,单词链就是该单词可以由数组内另外一个单词再任意地方加一个字母组成该单词,就可以构成单词链。m) n为数组长度,m为字符串长度。

2023-04-27 12:56:47 34

原创 23.04.26每日一题

因为有两个子数组,我们可以设为子数组a1,a2 ,然后不断向右移动,其中a1再不断遍历中记录数组和最大值,加上a2数组的数组和便是a1,a2每次右移的最大值,然后取其最大值便是我们需要的答案。题目意思,再一个数组中取两个固定长度的不重叠子数组,求两个子数组和的最大值。但是因为长度不同,所以我们需要长度再遍历一次,即可求出答案。这种求最值的一般使用动态规划,时间复杂度 O(n)

2023-04-26 19:54:54 26

原创 23.04.25每日一题

时间复杂度O(n*logn)

2023-04-25 14:45:57 49

原创 23.04.24每日一题

可以以该字符串为为p,以q=p+1,并且自增开始遍历如果能找到字符打小大于p的,那么就把p点定为q,如果等于的话,就需要对比后续的字符打小,如果都相等的话那么因为p后面的字符比q的多,多以以p开始的字符字串仍然是字典数最大的,按照这样找下去,知道q==n结束,以p点开头的字符字串就是字典数最大的字串。应该是字符相等时,依旧继续遍历消耗了很多时间。题目意思为求字符串的子串中字典数最大的字串。其中 q为查找目标跳表。一下子就想到了双指针。

2023-04-24 20:10:16 44

原创 23.04.23每日一题

让后从i-1开始,选几本书让他们构成一排,然后其中高度的最高值加上剩下书籍的最小高度,所构成的高度就是按顺序排列的所有可能,让后取最小值。题目意思是给出按照顺序进行摆放,取得摆放的最小高度。用dp[i],来表示i本书的最小高度,我们可以考虑为。力扣感觉和动态规划干上了,最近天天动态规划。时间复杂度 O(2^n) n为划分的次数。时间复杂度 O(n^2) n为划分的次数。今天是世界读书日,所以题目也数摆放书籍。时间复杂度 O(n^2)空间复杂度 递归不考虑。空间复杂度 递归不考虑。空间复杂度 O(n)

2023-04-23 19:25:28 39

原创 23.04.22每日一题

首先取一个起始点然后在一个区间内再取一个值就可以获取到到等差数列的差值,然后根据差值将这个取的值作为起始点继续搜索。题目意思就是一个数组中取一个子数组并且为等差数列,能获取子数组的最长长度。在我印象中,能够使用记忆化搜索的基本都能够转成动态规划。其中可以将搜索到的最大值进行保存,避免重复计算。可以使用dfs来进行记忆化搜索。时间复杂度 O(n^2)时间复杂度 O(n^2)空间复杂度O(n^2)空间复杂度O(n^2)

2023-04-22 15:28:11 38

原创 23.04.21每日一题

求2与n的最小公倍数。时间复杂度 O(1)

2023-04-21 14:20:21 50

原创 23.04.20每日一题

赋值的话次数就增加一个,如果不能满足严格题赠就返回一个大于arr1长度的值inf,表示没有答案,最后取最小值min,如果min>=inf,则返回-1,否则返回min。首先题目的意思就是通过从arr2数组中取值给arr1来进行赋值,让数组arr1变成严格递增的数组,来获取赋值次数最少值,如果不行就返回-1.我们可以对arr2数组进行排序,然后开始对arr1进行dfs,选择赋值或者不赋值。n是dfs搜索最坏次数,logm是二分法。时间复杂度 O(n^2 +n*logm)空间复杂度O(n*(n+m))缓存空间。

2023-04-20 15:18:28 44

原创 23.04.19每日一题

我们需要求一个区间的最大值,我们就可以假设这个0-i区间的最大值为dp(i),然后我们需要求整个区间的最大值dp(n),那么要让0-n区间的数值为最大,那么到i+1到n的区间内的值也要是最大的所以我们取这个区间的最大值,那么这个区间的最大值为这个数组这个区间的最大值*区间的长度,而区间的长度不大于k,那么开始使用dfs来解决问题。题目的意思就是对数组进行分组,每组长度最多为k,分组之后组内数组都变为分组中的最大值,然后求分组后的最大值。时间复杂度为 O(k^n) k为子数组最大长度,n为数组长度。

2023-04-19 15:08:31 45

原创 23.04.18每日一题

经典二叉树,题目意思是获取一个节点与其父节点的最大差值,可以使用dfs来进行遍历,再遍历的过程中维护一个最大值和最小值,每次都进行比较差值,返回最大差值即可。时间复杂度O(n)n为节点数。空间复杂度,使用递归不计算。

2023-04-18 23:11:56 47

原创 23.04.17力扣每日一题链接

计算共同待在罗马的天数,需要将String类型的日期转化成以天为单位,然后用两人离开的最早时间减去两人抵达的最大时间+1,如果结果为负数表示二者没有交集,返回0。

2023-04-17 21:47:03 51

原创 23.04.16力扣每日一题链接

所以查询的是区间内的众数,该众数的数量是否大于threshold,如果大于就返回该众数,否则返回-1。时间复杂度O(n+kqlogn) n为数组长度 ,k为随机次数,q为查询次数。于是去看了一下题解,有一种随机化+二分查找的方法,看上去比线段树简单很多,该方法的随着随机次数的增加概率无限接近100%,但是仍然可能存在意外。时间复杂度O(n+qlogn) n为数组长度 ,q为查询次数。时间复杂度 O(qn)为查询次数,n为子数组长度。空间复杂度O(n)n为子数组长度。空间复杂度O(n) n为数组长度。

2023-04-16 22:05:07 46

原创 23.04.15每日一题 链接

因为所有花园最多只有三条路可以进入或者离开,并且想邻的植花颜色不同,而每个花园有四种颜色的选择。所以你以任何一个点为参考系种任意颜色的开始,都能获取正确答案。如果只有三种的话,就要使用dfs才能得出正确结果。

2023-04-15 20:19:17 48

原创 力扣1089 的本手妙手俗手

题目本手:模拟遍历数组arr,当arr[i]为0的时候数组右移动,并且i++,避免右移之后下一个还是0又继续右移,代码如下妙手:使用双指针,设两个指针p,q为0开始遍历数组,当arr[p]=0时,q+=2,p++,否则q++,p++,当指针p大于或者等于数组长度时遍历结束,然后通过双指针的对应回溯把数组进行修改。俗手: 将数组转为字符串,让后将字符串的“0”替换成为“00”,最后截取数组长度的字符串转为int数组...

2022-06-17 13:12:46 103

原创 session cookie token的作用

cookie的起源以及作用在web早期的时候,web的主要作用是浏览,也就是读取网上的信息,随着网上用户的不断增加,进入了web2.0时代,也就是交互式的web逐渐兴起,因为http是无状态的,所以服务端并不知道是哪个用户与服务端进行了交互,据说cookie最初诞生是为了保存网上购物的历史记录的,然而cookie并成为了解决http无状态和交互式web的答案。直到现在cookie的主要作用依旧是用来存储一些来自服务端的特殊信息,当客户端带着这些特殊的信息给服务端发送请求时,服务端就能知道客端端的状态。

2022-05-07 19:32:51 545

原创 浅谈java注解

这篇文章来浅谈一下java的注解,这平时Java开发中或多或少的接触过Java注解,例如@Override,它表示的就是一个方法重写的注解,下面为了更加方便的理解注解,举个简单的例子。1.认识注解注解就像你看书时候作笔记时划的线一样,它本并没有什么意义,但是结合Java的反射机制后才具有意义,在代码运行中就会比较关注你这标记注解的地方,结合Java的反射机制就可以实现很多的操作,就像你考试前的时候来复习划线的重点一样。下面看一下@Override注解时怎么定义的。@Target(Element.

2022-05-05 22:37:52 165 1

原创 重写equals()

JAVA重写equals方法为什么需要重写equals方法equals方法本是判断两个对象的内容是否相等,判断的依据则是对象中的所有成员变量是否相等,而未重写的equals方法是继承自Object类中的,它的判断逻辑是对象引用所指向的是否为同一对象,而在集合中很多时候需要判断,集合中是否存在相同对象时,就需要重写equals方法了。如何重写equals方法一个好的equals()应该满足以下的要求:自反性:对任何的非空引用x,满足x.equals(x)返回true。对称性:对任意的x和y

2022-03-04 19:52:55 364

原创 浅谈equals()与==的区别

Java中==与equals()的区别在Java中==通常是用来判断两个数值是否相等,当比较的是基础的数据类型时,他们比较的是即是基础类型数据的值;当比较的是对象引用时,他们比较的就是因用所指向的地址值。而equals()方法是继承自Object类的,在重写方法之前他所比较的也是对象所在内存中的地址值,而重写之后的equal()所比较的是两个对象的内容,如果内容相同,那么equals()返回的是true。String str=new String("abc");String str1=new Str

2022-03-04 19:51:48 342

空空如也

空空如也

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

TA关注的人

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