自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode22括号生成(java实现)

如果想要合法,那么一定是左括号开始,并且以左括号为开始,要对不合适的进行剔除。可以思考一下,为何最后一个不符合呢?是因为左括号个数为1,右括号个数为1,然后没有以左括号开始。上面的两种情况合法,第一种情况,左括号个数为2并且右括号个数为2.所以要想合法的前提是,左括号个数等于右括号,左括号为开始。我们主要是对括号出现的可能性进行一个收集。本道题我们使用的解法是回溯。我们以n=2举例子,如下图。

2024-09-05 21:39:14 278

原创 Leetcode236经典题目二叉树的最近公共祖先

本道题的直观思路是自底向上进行寻找,如果存在的话那么向上返回,如何能够自底向上遍历呢?我们可以利用回溯进行处理,那么需要注意的是进行回溯的时候一定要使用后序遍历来操作,因为后序遍历的顺序是左、右、根,那么在根节点也就是我们进行判断的操作了。2.假如节点左子树为空,右子树不为空,说明我们要继续向上返回。同理右子树为空左子树不为空也要返回。1.如果当前节点的左和右子树都不为空,那么说明找到了公共祖先,直接返回。本次为大家带来的题目是leetcode236二叉树的最近公共祖先。下面说下可能存在的情况。

2024-09-03 21:49:44 350

原创 Leetcode114将二叉树转换为链表(java实现)

本题想让我们将二叉树转换为单链表,可以发现,左边的二叉树转换为右边的链表是使用的中序遍历,所以本道题的思路就是可以。,然后再构建单链表。

2024-09-01 22:15:05 318

原创 Leetcode199二叉树的右视图(java实现)

那么本道题的解题思路呢就是使用层序遍历,每次将每层中的最后一个元素加入到我们的集合中。本道题目和之前的层序遍历二叉树的题目很像,但是需要注意的细节。那么我会在代码中指出。如果不是太懂层序遍历的逻辑的话,建议先看下二叉树的层序遍历。那么今天的文章就分享到这里结束了。

2024-09-01 21:43:07 256

原创 Leetcode108将有序数组转换为二叉树(java实现)

解题思路,首先拿到数组中间元素作为根节点,也就是0,那么然后将它左边的[-10,-3]作为一个新的数组进行转换,也就是同样的计算根节点,然后计算它的左右节点。观察题目不难发现,其实数组的中间元素就是我们的根节点,然后将它的左右子树再进行转换即可。今天的题目分享就到此结束了,如果有任何疑问欢迎在文章下方留言!那么趁热打铁,再来分享一道题目。题目要求我们转换为一个。注意审题这点很关键。

2024-08-31 10:05:36 335

原创 Leetcode102二叉树的层序遍历(java实现)

具体的流程,首先我们先将3加入队列,然后记录本层size=1,队列弹出,也就是将节点3弹出,此时我们看他是否有左右子树,如果有加入队列,那么一看是有将左子树加入,右子树加入,然后size此时为2,然后弹出节点3的左子树9,下面的执行逻辑就和节点3是相同的了。如果觉得不是太理解的可以debug走一走,如果还有其他疑问可以在文章下方留言,如果觉得博主写的文章对你学习有帮助的话,麻烦给个小小的三联吧o(解题思路:使用一个队列来记录本层节点,并且用一个size记录本层的节点有几个。

2024-08-31 09:55:36 636

原创 Leetcode19删除链表的倒数第K个节点(java实现)

所以明白了这个,那么我们传入的是倒数第k个节点,我们如何让他落在他的前一个节点呢?,比如我们想要操作题目中的节点4,那么指针必须落在节点3,然后让节点。那么今天的分享就到此结束了,如果有疑问欢迎在文章下方留言。说一下我们的解题思路:我们要想删除第k个节点,

2024-08-28 21:19:28 235

原创 leetcode234. 回文链表(java实现)

本道题的思路可以使用集合先存储链表的值,然后进行判断即可。如果又看不懂的可以在下方留言,博主会一一进行答复。

2024-08-26 15:50:15 258

原创 Leetcode141环形链表(java实现)

这道题的解题思路:使用快慢指针,因为如果链表有环的话,快指针一定能够与慢指针重合,就像操场的跑步一样。让快指针每次走两格,慢指针每次走一格。因为快指针每次走两格,那么快指针能够遍历的元素,慢指针也能遍历到,所以只需判断快指针是否为空,并且快指针的next不能为空。

2024-08-04 15:52:01 288 1

原创 Leetcode238. 除自身以外数组的乘积(java实现)

先遍历前缀积,num[0]的1的前缀积为1,num[1],2的前缀积也是1,num[2],3的前缀积为2…,前缀积的[1,1,2,6];再计算它的后缀积=[1,4,12,24],将前缀积和后缀积进行相乘即可得到目标数组。本道题我最先想到的是先乘积所有的元素,然后除以所有元素,但是本题无法使用除法。今天分享的题目是letcode238. 除自身以外数组的乘积。拿nums[]={1,2,3,4};本题的解题思路是使用前缀积。

2024-08-02 21:16:30 285

原创 leetcode53. 最大子数组和(java实现)

如果说我们的累加和是负数那么就将其舍弃,换下一个位置从新进行累加,因为如果目前我们的累加和如果是负数那么还不如不用。比如说目前累加和为-2,那么我们不如用后面的1,这样累加和会更大,因为题目要求是返回最大和。本题需要注意的点:不是说遇到负数就进行舍弃,而且如果累加和res为负数才对当前值进行舍弃。那么本道题的分享就结束了,如果不懂的话可以在下面进行留言。今天分享的题目是leetcode53题。本题的解题思路:贪心算法。

2024-08-01 21:42:24 243

原创 Leetcode 438. 找到字符串中所有字母异位词(java实现)

cur中统计的是cb两个字符,进入下面的for循环第一步就是把right所指的地方的a字符假加入到cur数组中,然后进行比较,比较后,再把c字符删去。每次循环的时候cur都是两个字符,然后加入一个字符判断,判断完毕之后再删除一个字符。如果觉得还不是很理解,建议debug下自己尝试下,本题需要注意的点就是cur数组统计字符的时候最开始是统计两个。然后就是上面的每次cur数组中的加入字符和减去字符的代码,需要理解清楚。可能有同学对这里的代码不是太理解是干嘛的,我们来举个例子就好理解了。解题思路:滑动窗口。

2024-08-01 10:26:53 327

原创 LeetCode3. 无重复字符的最长子串(java实现)

定义左右指针,让右指针进行滑动,滑动之前先对set集合进行判断,看是否出现过,如果没有出现再往set集合里放。如果出现过了那么需要先进行删除原来出现过的也就是左指针的位置,再往set集合中放。无重复的最长子串,题目有可能有些小伙伴没读太懂,其实就是找到不重复的最长子串,比如eg3,pwwk,那么w出现了两次就不符合要求。需要注意的是对set集合已经包含了元素的处理,需要用一个while循环一直删除重复的元素,然后跳出循环后需要对右指针的元素添加。如果说没有看太懂的话推荐下b站的博主:[

2024-07-31 21:33:29 243

原创 Leetcode283. 移动零(java实现)

今天分享的题目是leetcode283移动0(成都人狂喜).然后我们记录的s此时为3,我们从s的位置朝后补零即可。那么我们就不用官方的题解了,分享下我们自己的解体方式。这道题目我也看了官方的题解感觉有点冗余了。

2024-07-27 18:17:32 219

原创 Leetcode49. 字母异位词分组(java实现)

第二个for循环的目的是遍历arr,然后并为每个字母打上一个标识,比如eat,经历过这个for循环之后结果就是a1e1t1,并将它作为后续map的key,因为异位词不看顺序只看出现的次数。这里的list应该是同一个list,那么list集合中的数据就是同一组的有效字母异位词。如果没有做过leetcode242题目的同学,可以先把它做了,会更好理解异位词的概念。到此,本题的讲解结束,本道题我建议大家结合代码去看,因为只看思路确实有点思路。我们先看第一个for循环,它的目的是统计eat每个字母出现的次数。

2024-07-25 11:57:47 515

原创 xxl-job登录没反应问题解决方法

docker运行xxl时的数据库地址与我本地的不匹配,并且密码也不对,所以将它修改为自己的地址和密码。最近在写一个关于xxl-job的项目,然后遇到了如下的问题,可以正常访问到xxl-job的登录界面。4.查看安装mysql和xxl-job时的配置命令,终于发现了问题。但是点击登录按钮发现没有反应,并且没有发送任何请求。排查步骤(使用docker)3.重写安装mysql。2.重启docker。

2024-07-21 17:15:55 478

原创 黑马头条Minio报错non-xml response from server错误的解决方法

课件上的命令是这样的。但是我用docker下载的minio是最新版的,所以出现了non-xml response from server的错误。今天在写项目的时候,想测试minio上传文件功能是否正常, 但是每次都出现non-xml response from server的错误。自己也在网上找了很多解决方法,大部分是说用户名和密码的配置问题,但是检查后发现并没有错误。那么解决方法应该先删除原本的minio之后,使用下面的命令创建。之后进行测试访问就不会报错了。

2024-06-16 15:00:22 876

原创 服务器报如下错误:Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

今天写完sql之后,利用postman进行测试接口的时候,服务器给我报了如下的错误:Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;我看自己sql语句也没有语法错误,为什么报了如下错误呢,后来检查发下是自己的注释出现了问题。在sql文件中的注释必须以 – 注释,–之后必须有空格才可以。那么希望大家以后写注释的时候也要注意这些细节。

2024-05-28 14:19:30 492

原创 docker启动es后,显示启动成功但是无法通过地址栏访问页面(Linux服务器上)

而且端口什么的也没有错误,那么我们使用浏览器访问docker的端口一直显示拒绝请求,我们这边通过本地ping的命令是可以ping通服务器地址的,今天在学习springcloud中的es的时候,跟着老师将es容器部署到docker上,通过。如果你也遇到相似问题,不妨使用我得方法试试,希望可以帮助到你(●’◡’●)!进行上述步骤后,我的es可以正常访问。

2024-05-18 09:58:13 746

原创 使用git push提示失败fatal: unable to access XXX/‘: Failed to connect to gitlab.com port 443 after 21079 m

我们登录到远程仓库放到clone查看,看是否和git remote-v 的一致。1.确保你的账号拥有push的权限,如果你是刚到公司可能权限还没有给你,需要向上级部门确定。如果不一致,将Clone With SSH里的地址复制一下,并将xxx进行替换即可。确保你当前的远程仓库与公司的是一样的,我目前的就是远程仓库配置问题。2.首先打开你的IDEA上Terminal终端。更改之后就可以正常提交到公司的远程仓库了。命令查看你当前的远程仓库。

2024-05-16 11:04:55 462

原创 IDEA在setting中已经勾选了Use non-modal commit interface选项,还是不显示commit侧边栏

今天在拉取项目后,发现我得项目不显示commit的侧边栏,导致我的项目修改没有一个提示。那么我的IDEA版本是2023版本的,如果你也是相同情况不妨试试我的方案。但是我勾选上还是没有任何效果,侧边栏还是不显示commit的选项。去网上搜了一些方案,都是让修改seting中的下图中的选项。发现只需要使用ctrl+k快捷键就显示出来了。

2024-04-30 10:08:26 1074 1

原创 Chrom谷歌浏览器f12打开开发者模式发现无法看到network的请求

浏览器不知道误触到哪里了,然后使用f12进行请求状态等信息的查看是空白的。,如果勾选那么你就看不到请求了。后来经过检索发现是自己的。中的一个选项的问题。

2024-04-26 08:45:48 4731

原创 springcloud启动报错(加入eruka后)Request execution error. endpoint=DefaultEndpoint{ serviceUrl=‘http://127.0

这是因为配置文件中少加了一些东西。加上之后再次启动就不报错了。

2024-04-16 11:12:27 518 2

原创 springboot控制台报错:java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang

StringRedisTemplate中定义的泛型key和value都必须保持String类型,而我们项目中在进行Map转换的时候是有Object对象。因此项目报错,我们的解决方法是,将其Map涉及的类型转换转为String,调用如下方法即可。今天在写一个项目时,前端发送请求时,控制台出现如下错误,这里是因为。那么,今天的bug分享就到这里结束了,希望可以帮助到你。

2024-03-24 15:44:27 415

原创 Springboot启动报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with nam

这里的形参名字我写成的是redisTemplate导致的,具体为啥咱也不知道可能与底层实现有关,将redisTemplate参数全部替换完成,可以完成正常的启动。如果你也遇见同样的问题,可以尝试本方法进行修复。

2024-03-24 11:34:59 834

原创 苍穹外卖项目微信支付(没有商户号)的解决方法,超详细!!!

如果想要体验真正的微信支付环节,可以搜其他方法。对于没有微信支付的环节,我们仅需要做一个大致了解即可。至此,本次分享到此全部结束,希望对你有帮助,如果觉得博主写的博客对你有帮助的话,,那么今天我就在这里分享一个方法,可以绕过微信支付实现订单支付的功能。今天在写苍穹外卖项目时,写到微信支付时发现。方法老师都已经讲过。我们主要修改的代码有。

2024-02-25 16:58:15 4072 34

原创 关于source批量处理sql命令建立数据库后发现中文乱码问题解决方案(Mysql)

再次使用source xxx.sql即可解决此问题。如果说你的这个里面不是utf-8那么就是出现了问题。首先我们先使用命令行连接自己的数据库。

2024-01-31 21:47:41 855 1

原创 Leetcode541反转字符串Ⅱ(java实现)

如果说遍历2k后的字符串大于等于2k那么对i到i+k的字符串进行反转,如果遍历2k后字符串小于了2k那么对剩余的字符串进行反转。我们今天分享的题目是字符串反转的进阶版反转字符串Ⅱ。具体的代码实现如下(本道题对边界的处理原则是。具体是什么意思么,我们来举例说明。),我们对剩余的字符反转,最后就为。首先,我们对字符串进行遍历,每次以。,也就是对前3个元素。

2024-01-27 22:08:10 460

原创 LeetCode344反转字符串(java实现)

解题思路:那么该题的我得思路是使用双指针的方法进行题解,我们首先定义left指针指向数组的第一个位置,然后right指针指向数组的最后一个元素,将left指针指向的元素与right指针指向的元素进行交换即可。我们观察题目发现,题目要求使用O(1)的空间解决这一问题。那么我们就不能进行使用开辟新的数组进行反转了。那么今天的每日一题的分享就到这里结束了。今天我们来分享的题目是leetcode344反转字符串。

2024-01-27 18:30:42 582

原创 Leetcode454四数相加Ⅱ(java实现)

首先可以从题意中大体得知,也是从某个集合中找有没有符合条件的元素。遇见这种类型的题目我们可以考虑用哈希表,本题我们选取的是map集合,因为题目范围较大,并且可以存在重复的。那么今天的题目就讲解到这里结束了,如果小伙伴们有什么疑问,欢迎在博客下方进行留言,博主看到会进行一一回复。并且记录num3数组和nums4数组中的和记为。解题思路:我们首先开拓一个map集合,然后。,并且存放到map集合中,之后我们。,如果有则返回它的出现的次数。这是这两个函数需要注意的地方。并记录它们的所有元素的和记为。

2024-01-18 10:45:36 502

原创 LeetCode1两数之和(java实现)梦开始的地方~

我们之前说过一个做题技巧,就是如果题目描述出现以下题眼:查找元素是否出现过,类似的我们首先先到的是使用哈希表,那么本道题我们应该选择哪一种数据结构呢?数组,如果说集合中存在目标值(目标值=target-遍历的当前元素值),如果存在目标值将数组下标进行返回。如果没有存在目标值,将该元素添加进。今天我们分享的题目是LeetCode的第一题,两数之和,我们先看下题目描述。,并且该题的数据较大,因此我们考虑使用。集合,进行下一个遍历。

2024-01-15 16:41:56 479

原创 Leetcode202快乐数(java实现)

快乐数(Happy Number)是指一个正整数,将其替换为各个位上数字的平方和,重复这个过程直到最后得到的结果为1,或者无限循环但不包含1。如果最终结果为1,则该数为快乐数;如果最终结果不为1且进入了循环,则该数不是快乐数。那么本道题的解题就到此结束了,创作不易希望给博主点个小爱心!,这个判断条件的执行顺序,我们首先执行的是。,因此我们根据这一点可以选择使用。这一点也需要着重注意。,然后进行取反的操作。

2024-01-13 15:06:17 444

原创 Leetcode349两个数组的交集(java实现,思路超清晰想学会的进来!)

那就是最后我们在进行返回时,不能将set2集合直接进行返回,因为我们题目要求返回的时int数组,因此我们需要遍历set集合并将集合中的元素存放到数组中,我们一般是利用迭代器进行对集合遍历,那么这样操作起来太过繁琐,因此这里我们使用是。,例如无法获取当前元素的下标,不支持在循环中修改集合或数组的元素等。因此,在某些情况下,仍然需要使用传统的for循环来实现更复杂的逻辑。今天,博主分享的题目是leetcode上的349两个数组的交集。,最后我们创建一个数组arr,用于接收set2中的元素并进行返回即可。

2024-01-12 10:16:38 372

原创 Leetcode242有效的字母异位词(java实现,详细易懂想学会的进!!!)

首先,我们可以开辟一个长度为26的数组,用于统计每个字母出现的次数。然后我们遍历第一个传入的字符串s,将字符串中出现的字母存放在数组中去,并进行统计。然后我们对字符串t进行遍历,并用数组中存放的字符串s所统计的字母减去t中出现的字母,如果说最后数组为0,表示是字母异位词,否则就不是。然后对字符串t同样也是相同到底,只不过字符串s在统计字母时对下标位置进行++,而字符串t则是进行–。那么这道题的代码并不难,难的是这道题的思路,如果是第一次接触到本道题的同学可以结合我的思路和代码进行好好梳理一下。

2024-01-10 14:52:38 407

原创 LeetCode19删除链表的倒数第N个节点(java实现,详细思路包教包会)

可以看到,我们首先是对链表的长度进行统计,然后就可以通过链表长度及传入的n进行计算cur需要移动几次。这里cur指向的就是vir节点。最后将vir.next进行返回。今天,我们分享的题目是leetcode第19题,话不多说,上题目。那么我们首先需要确定的。

2024-01-03 16:26:41 392

原创 LeetCode24两两交换链表中的节点(java实现)

循环,while循环中的两个判断条件分别是对当链表中的节点为奇数时的怕判断条件以及当链表中的节点为偶数时的判断条件,那么为什么。的判断条件在后,这是因为&&是两个条件都满足才会真,而||是一真便真,如果。需要注意的点是,在进行节点交换之前,需要对节点的位置。我们来结合代码进行进一步的分析,首先是我们的。指向的是头节点,起初头结点是指向的。,例如上图中的,我们需要先将。

2023-12-29 11:10:02 497

原创 LeetCode206反转链表(java实现)

我们首先定义cur用于指向head,我们要进行反转链表首先,要先将cur.next的位置用临时节点进行保存,也就是上图的temp,然后是将cur.next赋值给pre节点,然后将pre和cur后移,继续遍历链表。这两行代码的位置是先将pre=cur,然后是将cur=temp;假如交换这两行代码的位置就会导致后续pre=cur时赋值的是错误的cur位置。首先定义一个指针pre,用于指向head之前的位置,那么我们初始可以将它置为NULL因为链表反转之后第一个节点的next就是null。假设我们的原链表如下。

2023-12-26 21:55:20 523

原创 java代码生成器(自动生成Mapper、Contronller等代码、方便快捷、高效)

首先需要在pom文件配置依赖。

2023-12-22 16:41:39 826

原创 LeetCode203移除链表元素两种实现方法(Java实现)

那么具体的代码和思路在我的上述代码中进行了一个i详细的描述如果大家觉得有问题可以在下方留言,博主看到会进行解答,觉得博主写的不错的麻烦给一个小小的❤学习O(∩_∩)O!那么本道题目操作的是单链表,需要注意的是,单链表只能顺序通过next访问数组中的元素。不使用虚拟节点我们在处理头结点需要进行判断,如果要删除的元素是头结点,那么我们此时让。具体的需要注意的事项和点,我写在了上面的代码注释部分大家可以看着理解一下。,这样就可以完成对头结点和其它节点一致的操作,今天来分享的是移除链表元素的题目。

2023-12-21 15:41:35 531

原创 LeetCode59. 螺旋矩阵 II(java实现,史上最详细教程,想学会的进!!!)

第一轮while循环执行的步骤,当执行完第一个for循环之后,j指向了红色箭头,然后执行第2个for循环对蓝色框进行赋值,然后i指向了蓝色箭头所示,,,后面的两个for循环分别对紫色和绿色矩阵进行赋值。如果我们每次处理前3个数字,比如第一行我们处理1-3,然后继续处理列也就是4-6,然后处理7-9,这样可以发现一个规律就是我们每次都不对末尾的元素进行处理,这样遵循了循环不变原则。,但是不要操作传进来的n,需要用一个变量进行赋值,这样不会改变n的值,不会影响for循环的判断。1.当经过一次循环后,需要对。

2023-12-18 22:01:51 487

空空如也

空空如也

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

TA关注的人

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