- 博客(53)
- 收藏
- 关注
原创 36有效的数独
3.这个就需要先框定一个界限起始点的行+3,列+3的范围,然后遍历9个看是否有重复元素。(img-Mkd3oSJi-1726034445949)]实际上最大的程度如果是这个样子的话可以接受,不太考虑算法,只关注与具体实现。哇当思路清晰,把步骤去给拆分后,所有这些问题都开始瓦解了,一遍过。1.对于一个for循环九次循环,判断数组里面是否有该元素。这个题目,看着略微头大,但是应该还是不难。那么这样的话遍历一个格子时间复杂度大概在。2.一个for循环九次看数组中。
2024-09-11 14:01:03 458
原创 34在排序数组中查找元素的第一个和最后一个位置
注意这里找mid的时候,数组是十分容易超出界限的,所以一旦涉及+1或者-1进行前置判断,判断是否会超出界限后再进行。好好好,又是log n那么还有什么说的,非递减顺序排列。
2024-09-11 13:59:50 320
原创 31下一个排列
然后其实还可以优化的代码在check那,这个地方本质就是一个排序,其实sort已经写好了,不过优化空间不大就是了,就是代码量少很多。但是其实过程中调试了很多次,很耗时间,这个方法有点冗杂了。然后还有更好的东西的话,我想是在翻转如果start
2024-09-11 13:58:08 218
原创 30串联所有单词的子串
回溯的作用:回溯的作用是撤销递归中的选择。每次递归进入下一层时,会通过交换操作改变数组的顺序;当递归返回时,通过再次交换将数组恢复到原先的顺序,从而尝试其他可能的排列。递归与交换:递归的每一层都会处理数组的一个位置,交换不同的元素到当前位置,然后递归进入下一层。这种逐步交换和恢复的过程确保了我们能够生成所有可能的排列。回溯关键点:回溯发生在每次递归返回时。交换是生成不同排列的方式,而回溯则是通过再次交换,将数组恢复到之前的状态,以便进行下一次排列尝试。第二种处理排列组合的方法。
2024-09-11 13:54:23 949
原创 25K 个一组翻转链表
反复检查发现第一个大循环到第二次大循环的连接没有连接上,没有什么很好的方案。这个题目很自然的我就直接想到了模拟。随即出现了下面的代码。
2024-09-11 13:50:05 216
原创 Mapper目录的作用
经常在项目中遇见Mapper那么这个Mapper到底是什么意思呢其实呢,Mapper啊就是一个个抽象的接口,看到了吧,没有具体的实现方法,它就是一个接口,但是呢,Mapper其实主要是和数据库操作有关的,它是去实现CRUD的Mapper接口的方法可以通过,注解啊和xml去进行关联的SQL语句代码这种东西举个例子就最直观了嘛写个Mapper的接口啊那么相应的xml
2024-09-05 21:27:16 471
原创 IT程序员常去的论坛、社区、网站有哪些?
简介:成立于1999年3月,是中国最大的软件开发人员网站,社区内有大量热心高手,尤其是在悬赏积分制度的推动下,论坛氛围活跃。简介:以数据库技术讨论闻名的论坛,是一个广受欢迎的IT技术社区,前身为Oracle小组,现涵盖更广泛的IT话题。简介:一个面向开发者的技术社区,内容涵盖前端、后端、移动开发等领域,用户可以在这里分享技术文章、问题和想法。简介:中国最大的开源技术社区,提供了大量的开源项目资源,并且是程序员们交流开源技术的好地方。
2024-09-04 18:45:01 876
原创 23合并 K 个升序链表
这个题目我最开始看就回想两个有序链表的排序,但是如果这样排,那要排k次,每次排序还有相应时间复杂度,工程量之大,相当恐怖。最小堆,非子叶节点小于子叶节点,可以导致根节点是最小的,那么我们只需要把所有数据全部插入最小堆,然后一一删去根节点即可。注意这个offer方法是把数组头结点放在最小堆,而不是把整个数组放进去。如果想直接全部放进去就在第一个循环里面改成pq.add(list)即可。第二种这个直接用了最简单粗暴的,但是说实话还是有点难度的。poll方法是挑出最小的那个堆节点。当然也可以直接放进去。
2024-09-04 18:25:14 420
原创 22括号生成
那么思路如下,如果括号是左括号,丢进去,然后如果是又括号,那么就要考虑前面,那么可以用到stack的push和pop方法。这里我出了点问题,就是把那个list去变成了局部变量所以呢。首先它题目里面只给我们一个n然后那么我们栈空间需要2n。但是在java里面并没有这个样的函数,至少我还不知道。看到有关括号匹配括号生成我们自然而然想到了,栈。n>=1
2024-09-04 18:24:43 166
原创 资源消耗漏洞
资源消耗漏洞指的是部分功能点或部分接口在实现功能时需要请求资源,若该接口并没有进行对应的限制,则攻击者可以通过频繁的调用该接口而消耗服务器内部的资源,从而导致包括但不限于:服务器宕机、拒绝服务、资源被滥用、配合钓鱼等实现进一步的攻击。
2024-08-30 10:10:42 425
原创 Mysql必知必会笔记
然后一般来说反应回来的数据一般都不一定是按照顺序的,因为我们并没有对它进行排序规则啥啥啥的,然后返回的数据也没有什么特殊意义,所以可能会导致每一次查询顺序可能不一致,但是列里面的个数一定是一致的,由于现实情况中我们有时候不需要去知道某个数据具体有多少个,我们只想知道有些什么数据,我们想知道有多少种不同的,那么为了解决这个办法就一般会会使用distinct这个关键字。这个语句就是把查询的语句按照字母(或者按照数据的大小)的顺序去排序,然后注意Mysql是不分大小写的。可以使用通配符进行模式匹配。
2024-08-30 10:09:17 405
原创 Redis缓存的一些案例
缓存的Value集合变大,当高并接口请求时,会从Redis读取相关数据,每个请求读取的时间变长,不断的叠加,导致出现热点KEY情况,Redis某个分片处于阻塞,CPU使用率达到100%。在Redis中,访问频率高的key称为热点key,当某一热点key的请求到Server主机时,由于请求量特别大,导致主机资源不足,甚至宕机,影响正常的服务。**第二种:**保证高并发的请求到的Redis key始终是有效的,使用非用户请求回源后端,改成主动回源。Redis是单线程的,所以线程安全的。当我们识别到热key,
2024-08-30 10:06:44 651
原创 sql靶场笔记
第二个实验也非常的简单一进来是一堆商品,然后没有分类之类的,右上角有我的账户,进去看了看,先输入1,等等去看看反应,观察URL发现没用,然后就直接尝试对账户进行注释,结果就成功了,administrator’—就结束了,密码无所谓,然后绑定邮箱即可。第一个实验比较简单,首先观察网站大概信息,发现这是一个购物网站,然后发现一个关键地方就是,有一个分类按钮,有gift,有pet,等等,然后再看它的URL语句,发现可能存在被入侵的风险于是对它进行测试,用’+or+1=1–即可,–是URL的注释符号。
2024-08-30 10:04:28 650
原创 Redis面经
缓存雪崩:在某个时段,设置的key的失效时间都一样,其实也就是大量key在同一时间失效了或者Redis宕机了,从而导致如果这个时间有大量的请求打进来,导致数据库可能存在宕机。但是这个方案的缺点也很明显,如果大量的数据库查询为空打过来那么也就会导致很多缓存,消耗了内存,同时如果大量的不一样的不在数据库中的请求打过来那么一样可以造成宕机。缓存穿透:查询一个数据库中不存在的数据,那么查询不成功也就会导致数据库中的查询不会返回缓存,从而通过大量的请求去造成负担。就是让redis中的key不在同时去进行失效。
2024-08-30 10:00:21 1208
原创 15三数之和
然后在剩下的里面去遍历,是否有为二者之和的相反数的。如果有将这三个数添加到数组里面。这样时间复杂度大概是n^3。我的想法是把三个变为两个。如果没有找第一个和第三个。
2024-08-22 22:48:22 527
原创 10正则表达式匹配
但是这个代码的问题就是,如果前面没有空格呢,或者如果压根就不存在array[1]呢。减少使用库函数,因为这些库函数可能导致一些新的问题产生。其实还是得老老实实的按照流程走一遍,排除一些奇葩个例。最开始想通过去用空格分离就直接隔离到第二个字符串。又用了try catch,估计在那里又用不了。二哥代码思路和我第一遍一样的但是他通过了。虽然效率不高,因为用库函数用多了是这样的。
2024-08-22 22:45:35 339
原创 归并排序算法
首先,归并排序使用了分治思想。归并排序实质上就是先进行折半,然后因为折半次数n是2的n次方去大于元素个数,然后分成2的n次方个小个去进行比较,这样在数量较大的数组面前比快速排序,冒泡排序等方式时间复杂度更低,并且它采用的是生成新的数组去进行比较,即比较最小单元,且不需要移动,大大减少了原先数组的比较和移动的次数。归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的。
2024-08-06 23:01:49 147
原创 08字符串转换整数 (atoi)
但是这个代码的问题就是,如果前面没有空格呢,或者如果压根就不存在array[1]呢。减少使用库函数,因为这些库函数可能导致一些新的问题产生。其实还是得老老实实的按照流程走一遍,排除一些奇葩个例。最开始想通过去用空格分离就直接隔离到第二个字符串。又用了try catch,估计在那里又用不了。二哥代码思路和我第一遍一样的但是他通过了。虽然效率不高,因为用库函数用多了是这样的。
2024-08-06 23:00:57 282
原创 07整数反转
因为java中一旦发生整数溢出,他会自动回来,反正就拿这个测试用例来看。但是这个try-catch模块在这里用不了为什么呢。诶其实try-catch也能用不过看具体情况。其实小于0大于0可以合并没有影响。其实通过的相当多,就是差那么几个。
2024-08-06 23:00:20 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人