- 博客(19)
- 收藏
- 关注
原创 最长合法表达式
之后找到合法的表达式之后,该表达式一定是一个中缀表达式,计算机算一定要先转换为后缀再进行计算,这里也建议自行搜索以下关键词——中缀转后缀,后缀求值。sregex_iterator为迭代器,用于实现多次匹配,会将所有能够匹配的字串全都找出来并放在迭代器里,这里建议自己研究一下。表示匹配一个或者零个+号或者-号,用于刚开始的字符,如+12+5这种,第一个字符可能是+号。最后,大致代码如下,我只能说我运行的案例正确,不保证代码完全正确,只是记录一下。(\\d+[+*-])*表示匹配零个或者多个数字+符号。
2024-03-13 23:57:42
285
原创 LCR 016. 无重复字符的最长子串
我用的算法应该是滑动窗口,设置i和j分别为左端口和右端口,右端口不断向右走,当遇到重复的元素时,左端口不断删除元素,当删到不存在重复元素时,右端口继续走。思路:比较简单的思路是从0到字符串的长度,分别当左边界,去找最大的不重复字段长,但这样应该不算比较优的解法。,请你找出其中不含有重复字符的。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。
2024-03-12 22:38:11
139
1
原创 1145. 二叉树着色游戏
题目的思路也很简单,双方各下一枚棋子,之后都只能在第一次下的棋子相邻的树节点下棋子。也就是说,树分为三块区域,两枚棋子中间的公共区域(双方都有机会下),还有他们两个的私有区域(因为树只有一条路)。后手下的人该怎么去获得最大利益,就是我们要考虑的问题,显然,我们将“公共区域“全化为自己的,就可以实现。又是一个很简单的对于dfs算法在树结构的应用,树的数据结构是比较方便使用深度有限遍历的。的邻节点(即左右子节点、或父节点)进行染色(「一号」玩家染红色,「二号」玩家染蓝色)。游戏中,给出二叉树的根节点。
2024-03-08 23:51:26
273
1
原创 LeetCode岛屿的最大面积(所有的dfs算法都可参考)
注意这四个count,第一个dfs是向右走,如果右边有岛屿,count+1,而count+1之后又作为第二个dfs的count参数,因此是看作四个dfs累加的和,也就是某一个块上下左右四个块是否有岛屿的累加。同时要注意二维动态数组vector<vector<int>>的使用,grid.size()表示的是行,gird[0].size()表示的是列的长度。这串代码是我感觉目前最简单的,比较难理解的大概也就是这一段。(代表土地) 构成的组合,这里的「相邻」要求两个。,因为岛屿只能包含水平或垂直这四个方向上的。
2024-03-08 14:12:44
215
1
原创 8. 字符串转换整数 (atoi)
题目的思路就是,先找字符串字串看看存不存在符合题意的串,没找到直接返回零,如果能找到,记录下begin和end两个位置,使用substr函数直接把该字串截取出来,然后判断一下有没有出界。2.使用stoi函数对未出界的数据直接得到结果,stoi函数还是很好用的,相似的有atoi函数(char*转int),建议认真学习一下该函数用法。题目看起来很简单的样子,但具体写起来却是非常多非常多的奇葩案例。3.其他字符出现在前面算错,出现在后面前面没有数字也判错。在此先贴一下我的代码,注释我标注的比较详细。
2024-02-25 14:49:44
286
原创 leetcode 刷题4寻找两个正序数组的中位数 刷题5最长回文子串
要实现log(m+n)的时间复杂度毫无疑问需要用到二分法的,类似的题好像在408某一年的大题里见到过,思路如下:分别将两个数组对半砍,取两个数组的中位数,比较两个中位数的大小,将中位数小的偏大的部分和中位数大的偏小的部分合并,如果此时还剩一个元素,该元素即为所需元素,如果有多个元素,继续上述操作。然后便是第二个分类讨论,当某一个数组元素取空了怎么办,奇数和偶数的做法是不一样的,解决完这个问题之后基本就结束了,后面会有一些小坑,比如输入的一个数组刚开始就是空的等等.......静下心来就很好解决的。
2023-06-25 23:24:18
108
原创 leetcode刷题3 无重复字符的最长子串
题目如下:当时脑子抽了没有看到下面的规定也就是说,除了英文字母,还有数字和字符串、符号、空格。刚开始以为只有英文,就用了哈希表法做,通过了800多个案例,有100个没通过才意识到自己大概是看漏条件了。
2023-06-23 00:46:10
113
1
原创 leetcode第二题 两数相加
我的理解如下:carry表示进位,三元表达式判断此时l1或l2是否为空,为空之间补0,这一步非常巧妙,直接省去了我思路里面需要分别判断l1和l2是否还有剩余位数的步骤,大大简化了代码量。题目描述也非常简单,输入两个数组,实现相加,且不会出现最高位为零的情况。3.可能会出现的多出一位进位的情况,如2+999=1001。1.进位的判断,尤其是位数不相等的两个数的进位。当然我们要学习更简练的代码,以下是官方答案。代码注释我也加上了,运行结果如下图。2.位数不相等的数的相加。以下是我自己的代码实现。
2023-06-21 13:55:28
70
原创 leetcode刷题 算法第一题 两数之和
本文写作目的纯粹为了记录学习,如有错误多多海涵。题目如上,输入一个数组,在数组中找到和为target的2个数字的组合,且该二位数组合唯一。描述非常简单。
2023-06-21 01:54:55
546
原创 一种基于ELK和Hadoop的具有日志分析功能的大数据资源共享网站系统的设计框架
本文主要讲述了如何搭建一个具有日志分析功能的网站,只提供思路与可行性分析,具体实践比较繁琐,请各位大佬们可以根据自己的技术进行实现。
2023-05-04 21:58:01
160
原创 基于tomcat10以上版本的前端+后端验证码的代码编写
我只是简单的将其改为了tomcat10及以上版本可以直接使用的代码。首先是control端代码。接下来是DAO层写配置。
2023-04-24 16:27:50
155
原创 easy-captcha1.6.2(最新版本)与tomcat10以上版本的冲突问题
我查询了一下tomcat官方文档,发现在Tomcat 10中把包名从以往版本的javax改成了jakarta,也就是说这俩含义差不多,但是属于版本更迭之后的两个不同名包,无法相互转换。然后我又去easy-captcha的github官网查看了一下,发现其最新版本是1.6.2,这是2019年开发的版本,那个时候tomact10都没出,所以其根本不可能兼容。直接报错,可以看到,该参数需要的是javax包下的request和response,而我的参数是jakarta下的。运行一下,会发现二者并不能相互转换。
2023-04-24 16:07:46
432
1
原创 logstash分析sql注入攻击并将日志存储到es
最近在用logstash做日志分析的时候,搜集了很多资料,但大部分都是关于logstash如何将日志各个部分加以分类存储到logstash中,没有写如何分析攻击日志的东西,所以在此我简单记录一下。首先,logstash做日志分析最重要的还是过滤器的书写,logstash的过滤器支持grok匹配,而grok又是建立在正则表达式上面的,所以我们可以从这方面入手进行分析。
2023-04-21 02:18:21
464
原创 Springboot框架前端实现不同身份选择登录
第一个函数就是form的判断函数,在这里注意document.getElementsByName和document.getElementsByID的区别,他们两个一个是通过id获取值,一个是通过name属性获取值,其中id属性因为是唯一的,所以可以直接获取,但name属性可以在多个标签上,所以其返回的是一个数组,根据出现的先后标记0,1,2,3....,在我的代码里,因为我的单选按钮肯定是同一个name属性的,所以他们的document.getElementsByName分别是[0]和[1]。
2023-04-21 01:43:43
2813
原创 logstash可能遇到的无法读取系统日志的问题
然后我就开始了痛苦的找问题过程,大概搜了很久,终于在一个博主那里发现了一个很细微的问题。也就是说配置文件中的path路径要使用的是UNIX的分隔符,而我的路径是我直接粘贴上去的。这几天刚学logstash,在读取日志这部分却被卡了好久,主要是这坑我真的是前所未料。这个坑确实很坑,主要是检查配置文件压根不报错,确实很难想到路径会出问题。安装什么的就是正常安装,然后在配置管道时,我是的配置文件如下。然后我就对我的path做了修改,也就是把 \ 变成了 /接下来我就把-t去掉,进行导入,奇怪的地方就出现了。
2023-04-14 11:30:08
1069
1
原创 Mysql实现定时删除表中的数据
最近做项目的时候,想要实现一种验证码几分钟内有效的功能,于是就想到了定时删除数据库中存在的共享码从而实现该功能,然后温习了一下数据库事件、定时器的相关功能,查询了一些文章,在此分享一下实现的方法。其中,列名可以随便起,数据类型选择timestamp(时间戳),默认值CURRENT_TIMESTAMP,这两个必须固定,默认值的作用是会在你插入数据是自动产生一个当前时间插入你的数据中。解释一下,xxx1是你的数据库名,xxx2是事件名,你自己起一个就行,xxx3是你的表名。
2023-04-13 16:49:41
3087
原创 关于elasticsearch和elasticsearch-head配置的一些相关问题
在启动elasticsearch时,可能会出现无法找到Java_Home的问题,原因可能是自己配置的Java文件处于root用户权限才能访问的目录中,且由于es在今后的版本可能只支持java11以上的版本,因此我们最好可以使用es自带的java。可以看到这是一个对JAVA_HOME进行的一个判断,若JAVA_HOME非空则会进行赋值,而我们在安装java时肯定是配置了JAVA_ HOME的环境变量了的,因此他会指向我们自己配置的java目录。在这里也列出其他需要配置的属性(根据自己的需求自行修改值)
2023-04-10 13:48:34
180
1
原创 maven导入的依赖爆红或者找不到包,但找不到问题在哪的一些解决方法思路参考
把他下面所有的文件全部删掉,再重新载入项目重新更新maven就好了。2.刚开始做项目的时候,很多时候导入maven依赖都导入不进去爆红,大部分原因都是默认的mavne仓库太慢了,可以换一个镜像仓库,我用的是阿里云的,并且我在本地下载了maven包直接导入了项目中,没有用idea默认的maven路径,具体方法大家可以自己百度做法,我在此只简单提供一些思路。最近在做springboot项目总遇到各种奇奇怪怪的关于maven依赖、函数包的问题,有的我跟着视频做,视频能做出来我就是做不出来。
2023-03-25 21:35:19
3767
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人