- 博客(23)
- 收藏
- 关注
原创 conroller注解与RestController注解、Component注解、Interrupt方法
Controller和RestController的区别Controller:标识一个Spring类是Spring MVC controller处理器,可以直接跳转到jsp、ftl、html等模板页面。在方法上加入responseBody注解,也可以返回实体对象Restcontroller: 是Controller与ResponseBody的结合体,所有方法只能返回String、Object、Json等实体对象,不能跳转到模板页面(除非使用ModelAndView)@RestControllerpu
2021-07-29 10:18:41
547
原创 cacheable注解和requestparam注解
@Cacheable注解:(1)首先在启动项+@EnableCaching(2)然后在任意方法或者类上加入@cacheable注解(可以放在类上,也可以放在方法上)在类上,代表该类的所有方法都是支持缓存的,放在方法上是代表该方法支持缓存(3)支持缓存的方法,spring会在调用一次之后,将返回值进行以键值对的形式进行缓存,保证结果的复用,而不是再次调用该结果针对于缓存策略,又分为了两种缓存策略,默认和自定义策略,不过当一个支持缓存的方法在其他对象内部被调用的时候,不会触发缓存功能。@cacheab
2021-07-28 09:58:21
242
原创 Redis入门
第一天Redis入门,配置redis。(1)下载redis,进行解压到C盘或者D盘。(2)首次需要启动cmd命令界面执行命令进行运行,打开cmd 使用cd 切换到redis目录,输入redis-server.exe redis.windows.conf运行redis!(3)这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。切换到 redis 目录下再次运行redis-cli.exe -h 127.0.0.1 -p 6379,获取的是本机地址和端口号127.0.0.1:8379(4
2021-07-20 16:01:47
150
原创 重拾CSDN
去年找工作到现在已经一年了,也经历了许多事情,最后得到了自己喜欢的岗位,也是非常开心的。7月20日,我司入职,希望自己能够大展手脚,努力为公司做贡献,努力提升自己,做一个有用的人!停停停~扯得有点儿远了,还是需要让自己努力适应这个工作岗位,以后也肯定有很多问题需要记录,也就重新在CSDN总结自己的问题啦!...
2021-07-20 14:09:52
58
原创 前缀和的问题public class Solution { public int subarraySum(int[] nums, int k) { int count = 0,
好久不写博客啦,主要是最近一直在看面试题,好慌,毕竟要找工作了,心里还是没什么底,但是也有给自己打劲儿呀!!!!!!!奥里给,今天做题遇到了前缀和问题,也算自己的知识盲区吧,我以前虽然能想到前缀和问题,但是我使用的方法全是稍微稍微稍微优化了暴力破解,所以没什么用,还是AC题目如下:这道题,很容易想到暴力破解方法,但是我们引入一个前缀和概念,就是每次往后遍历,也就是说,我们统计前i项和,与前j项和,很明显他们两个的差值就是从i到j+1的前缀和,因此我们依靠这样来使用一个map存储前缀和,然后我们只需要
2020-05-28 01:42:22
1569
原创 图图图图!!!
终于开始图了,我估计我已经想着复习图有好久时间了,4月24日开始了奥!今天做了两个图的问题,不多BB,直接列出题干,这道题,很简单,但是我用的方法有些麻烦了,我是一步一步分析,首先如果法官不相信任何人,那么他的邻接矩阵肯定全是0,我先找到邻接矩阵全是0或者不存在的,问题来了,如果有两个人都是这样呢?那么我直接返回1,然后我看每个人都信任小镇的法官,我们知道每个元素的邻接矩阵肯定都含有法官的标号...
2020-04-24 21:02:26
226
原创 动态转换方程需要改变
不多bb,直接列出题目:这道题,开始我直接使用的递归,其实也就想看看能不能行,结果很正常,超时,因此想到了动态规划,我开始想把每分钱都进行动态规划一次,也就是说,假如7分钱,我再依次遍历我可以填补上的钱数,这样就是状态转换方程了,但是写的时候,我发现有点儿问题吗,我会重复运算两个金币,因此,我选择将金币作为动态转换的基调,我们每次都是用比这金币小的数,那么我们对于每个金币进行筛选时候,我们就不会进...
2020-04-23 11:50:07
159
原创 动态规划进阶理解
最近三天做了几道动态规划问题,和以往不一样,这几个动态规划状态转换不是特别的好找,使用递归又超时,真是头疼,下面先列出题目吧首先,我再说一下为什么我们会做这个题目时候,选择了动态规划呢?除了显而易见的问题(就是一感觉就是动态规划),我们通常会发现有的问题都是很独立的,无向后性和向前性,就是说,我们问题的解决可以分开解决,比如这个题,我们找子数组,我们加入在前面分开了,我们发现,后面数组的值...
2020-04-21 13:48:55
171
原创 542. 01 矩阵(dj的应用)
四月十六号,明天准备开始图的学习了,这两天做了几个广度优先的算法题,每个题都有一些不同,有的是单源广度优先,有的是多源广度优先,下面这个题,是多源广度优先算法的应用,那么我们列出题目:在做这种,有可能涉及多源广度的问题时候,我们一定要考虑清楚,谁作为源头是最合适的呢?这道题我们分析一下,首先找到每个元素最近的0!我们很容易就把1当做源头加进去了,一圈一圈的找,直到找到0.。但是我们找1作为...
2020-04-16 23:53:34
181
原创 双指针问题和滑动窗口问题
好几天没写啦,不过这段时间一直都在做题,没有一天拉下,这几天写了不少双指针问题,动态规划问题也在慢慢地熟练了,看数据,找规律,找前一“秒”的状态,找出状态转换方程。到双指针问题,我真是2分钟就把问题怎么解决想了出来,但是有一道题实现时候,总是答案不对,我也不知道为什么,后来才发现,我只是大致的把指针的变化想明白了,并没有落在代码上,在代码实现上出现了指针指向不明确问题。下面我们列出题目:(这道题不...
2020-04-13 13:48:32
441
原创 91. 解码方法
这算是昨天做的题了,总结一下,醍醐灌顶,对于动态规划问题,在前几天博客中我已经进行了总结,发现我掌握的只是个别题的做法,没有领悟精髓,今天再一看,真的感触很多,我们对待动态规划问题,想一想每一步的各种情况,也就是每个子问题的各种情况,与上一个子问题的联系等等!一定要找好状态转换方程!下面列出题目:我们发现,所有的问题都在怎么去找子问题上,这种题目一般都是后面的字符与前面的字符有啥联系呢,下...
2020-04-07 21:00:19
127
原创 662. 二叉树最大宽度
最大宽度,其实如果算元素的话,还是挺简单的,但是这道题,按照满二叉树来做,我被困在了这里面,做了一个多小时,没做出来,每次做出一个版本就出现问题,我也是醉了,下面列出题目:说实话,也怪我没好好读题,以为是一个简单的层次遍历就OK了,但是里面的坑还是挺多的,这里面我就介绍一个简单的标记位置吧,看到答案的时候也是眼前一亮,把每一行都用上一层的标记节点进行标记,然后每次放在一个List中,用最后一个...
2020-04-05 21:42:47
159
原创 8. 字符串转换整数 (atoi)
今天急急忙忙做了一个非常恶心的题目,说实话也不是说很恶心,只是我以前就没掌握怎么解决超出int型的数字表达方法,也不算表达方式吧,此处省略2W字对于自己能力不足的吐槽,直接列出题目:我这道题陷入了魔咒,一直想只用Integer.parseInt,使用这个函数,虽然很简单,但是对于处理合理字符串就复杂了很多,因此我们转过来使用每个字符进行求解,无非是每次遍历时候都*10表示上一层的值!下面列出代...
2020-04-03 22:07:51
141
原创 563. 二叉树的坡度 递归的使用
说实话,递归+回溯很简单,也很难,这句话是我感受最深的一句话,有时候脑子里面很简单的递归,实现出来好麻烦,下面我们说一下,树的递归,三种遍历应该牢记于心了,但是遇到具体问题怎么去解决呢,列出题目:感觉很好做,就是每个节点都运行一次左子树的值减去右子树的值的绝对值相加就行了,但是我们这道题,我从头开始,我们如果使用递归会遇到什么问题呢?就是我们需要计算每个节点左右子树的值,那么就会有一定的困扰了...
2020-04-02 15:53:48
106
原创 关于广度优先搜索的一些领悟
也不算是领悟吧,就是一些感想,树的BFS很简单,应该轻车熟路了,就是把节点放在队列中,每次都把他的子节点再放进去,无脑遍历就行了,因为树相当于是有向的图,所以不用标记每个点是否被遍历过,因为每个点肯定都只遍历一次,但是今天遇到了图的BFS,说实话,图一直都没有复习,所以对于这种问题,思路还是没那么清晰的,下面列出此题:我们首先看这是树的应用,但是慢慢会发现,我们就是一层一层的找,把尽可能多的点...
2020-03-29 23:42:06
155
原创 474. 一和零 和 646. 最长数对链
今天做了3道题,有一道很简单就没列出来,这两个是我对于动态规划更加完整性的理解的题目,我们将题目列出来:这道题乍一看,数组之间没有什么特定的规律,也不是去寻找数组之间的规律,动态规划能不能使用呢,但是我们看到总数mn,和消耗ij,我们可以很轻松的总结出dp[i][j]=dp[m-字符中0数量][n-字符中1数量]+1与dp[i][j]之间的最大值。也就是相当于我们把所有的dp数组都更新一...
2020-03-26 23:55:53
99
原创 236. 二叉树的最近公共祖先
其实昨天也做了两道题,但是昨天有事儿就没写自己的总结,今天写一个最近公共祖先的问题吧,其实这道题收到了我前几天做二叉搜索树最近公共祖先的问题启发,树的问题多用递归和迭代会很好做,题目如下:我们会发现一个问题,如果不是最近的祖先,那么他的儿子还会是我们要求的节点的祖先,所以问题来到了递归,我们判断root节点开始是否会读到两个值呢?如果读到了那么我们找到了他的祖先!写到这里,我们发现,如果我...
2020-03-25 22:47:03
77
原创 115. 不同的子序列 字串的动态规划问题
首先看到子串的问题,我们都很容易想到创造出dp[s1.length()][s2.length()]的动态数组,下面我们看题:我想到,正常的遍历时候,如果我们设个标记,标记一下我们之前遇到过的情况会不会更容易一些,比如,我们遇到第一个b的时候,我们心想,如果前面的字符有两种情况,我们判断如果现在的字符和预想中的匹配成功,那么我们需要把前面的字符情况+此字符产生的情况,也就是dp[i][j]...
2020-03-23 21:40:22
97
原创 494. 目标和 01背包问题(动态规划)和递归的使用
首先看到这题的题目,觉得很像以前做的组合问题,能直接找到问题的一部分解答方案,首先动态的寻找数组,省略已经读取的数组,然后不断的更新S的值,使得最后的S到数组长度为1的时候等于数组的值就可以了,这个方法是我最开始想到的方法,也就是递归一下我们的函数,不断更新数组和最后的S值就可以了,不做详细的介绍了,代码如下: public int findTargetSumWays(int[] ...
2020-03-22 20:44:35
206
原创 贪心算法的小应用
看完题目想了一下,切入点事如何去找每次变化的最小操作次数,数组开始是无序的,所以对于操作次数也就没有办法很明了的了解清楚,因此先把数组排序,排序以后,验证一下是否每个数只要比前面的大,就会满足操作数最小呢,证明如下:假设A数组是有序的,那么前面的数肯定比后面的数小,某一个数如果想变成与他前面一位不同的数,肯定要一直加,这时候考虑后面的数虽然能更快的变成这个想变成的数,但是我们跳过的这个数字要...
2020-03-22 17:06:56
101
原创 1143. 最长公共子序列 对于动态规划的自我反省
今天看到了一句话,算法题,首先是对于思路的整理,不是先有算法或者方程再有的思路,而是在写代码之前,将自己的思路进行代码式呈现,今天总结一下动态规划吧,这方面一直是自己的弱势,如其说是弱势,不如说是做的题不能匹配想法,很多自己直接做出来的动态规划都是很显而易见的,但是对于思路还不是特别清晰,动态规划很多都是最大子串,最大子序列什么的问题,下面列出最大子序列题:首先确定一下这道题是动态规划题型...
2020-03-21 17:23:33
79
原创 39. 组合总和 和 面试题 组合之感
今天问题还是挺严重的,自己以为会的其实都是模棱两可,就包括回溯算法,回溯算法最重要的是对于状态的暂停,状态的汇总,和开始的标志,首先第一题,限制条件是数字之和为target,允许的条件是可以无限次数的读取数组中的元素,但是解集不能重复,所以不妨给他设立标签,就是每轮都进行筛选 代码如下import java.util.ArrayDeque;import java.util.Arra...
2020-03-20 21:47:50
109
原创 368. 最大整除子集
开始使用回溯算法,遇到了找最大值问题(也就是回溯算法什么时候进行停止,什么时候更新答案的问题),记得明确回溯算法的终止条件和时间,答案不正确(超时)。后使用动态规划方法,找到了动态规划方程,但是记录的是长度,如果探索回去的路呢,用最大的长度标记,从后往前,假如长度是4,那么找到dp[i]=4,添加进去,在找到dp[i]=3,添加进去,直到i==0搜索完成,这就是路径,配上代码: ...
2020-03-20 18:25:39
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人