- 博客(35)
- 收藏
- 关注
原创 @Controller与@RestController
RestController注解的类会被当作RESTful风格的控制器,其方法返回的结果会直接作为HTTP响应体返回,而不会进行视图解析。在使用@Controller注解的类中,若方法返回的是字符串,spring会把这个字符串作为视图名称,然后依据视图解析器来查找并渲染对应的视图。:适用于传统的 MVC 应用,也就是需要返回视图的场景,例如 Web 页面的渲染。注解的类,其方法返回的对象会自动被序列化为 JSON、XML 等格式的响应体。:适用于构建 RESTful API,因为它能方便地返回。
2025-04-02 21:06:59
163
原创 Java中的LocalDate类
在java中LocalDate是不可变对象,这意味着一旦创建了一个LocalDate实例,它的状态并不会改变,比如:创建一个变量LocalDate begin,在使用begin.plusDays(1)后,begin并不会增加1,begin还是保持原来的日期。那如何才能让某一变量实现自增呢?这个方法会返回一个新的LocalDate实例,再将其赋值给begin即可实现begin自增1,即begin = begin.plusDays(1)。也可以自行打印输出一下来进行判断。
2025-04-02 20:29:25
187
原创 xml文件中的>;
因为类似像 '>','<' 之类的符号与xml文件中的标签<xxx>冲突,就像C语言中的关键字一样,不能再拿它去作为变量名,此时就可以使用转义字符把它替换掉,防止出现解析错误。CDATA[]]>标记所包含的内容将表示为纯文本,后台会原样解析并执行。代替了>号,我不明白为什么要这么做,经过上网查资料(问大模型)得到了答案。在写项目中发现视频中使用了。
2025-04-02 20:11:30
220
原创 AI基础:数据可视化简易入门(Matplotlib和Seaborn)
是一个Python的2D绘图库,它以各种硬拷贝和跨平台的交互式环境生成出版质量级别的图形。是基于Python且非常受欢迎的图形可视化库,在Matplotlib的基础上进行了更高级别的封装,使作图更加方便快捷。
2025-02-21 23:47:04
512
原创 IO流中的Properties类
store:将Properties中的键值对存储到配置文件,在idea中,保存信息到配置文件,如果含有中文,会存储为unicode码。(2)注意:键值对不需要有空格,值不需要用引号引起来,默认类型是String。load: 加载配置文件的键值对到Properties对象。getProperty(key):根据键获取值。(1) 专门用来读写配置文件的集合类。(3)Properties的常见方法。list:将数据显示到指定设备。
2025-02-18 22:52:07
97
原创 序列化和反序列化
1. Serializable(这是一个标记接口)序列化:保存数据时,保存数据的值和数据的类型。反序列化:恢复数据时,回复数据的值和数据类型。
2025-02-17 22:21:02
81
原创 Numpy简易入门
但有些无法扩展的会报错,比如:(行数,列数), (3, 2) + (1, 3)报错。数组间的基础运算是一对一,但是当两者不一样时。就会自动触发广播机制,将数组中每个元素与标量计算,返回计算后的数组。
2025-02-17 19:45:31
435
原创 IO流-节点流与处理流
处理流可以对其他节点流(如FileInputStream, PipeInputStream等)进行包装是因为底层使用的是Reader/Writer,可以接收所有的子类。2.处理流(包装流)包装节点流,既可以消除不同节点流的实现差异,也可以提供更方便的处理方法完成输入输出。3.处理流(包装流)对节点流进行包装,使用了修饰器设计模式,不会直接与数据源相连(模拟修饰器设计模式)2.操作的方便:处理流可能提供了一系列便捷的方法来一次输入输出大批量的数据,使用更加灵活方便。
2025-02-13 22:05:18
216
原创 板刷1700记录
实际上并不是去找它们相遇时的点,我们要找的是第一个被染成蓝色的点,至于为什么是去找第一个被染成蓝色点,因为当第一个点被染成蓝色后,a点要么会先b一步,要么会与b同时进行,接下来b无论怎么走总能使该点变蓝,因此就可以转化为从此点开始求遍历树的最小步数,然后从这个点出发去求遍历树的最短的距离,至于去找第一个被染成蓝色的点,我们可以贪心的去考虑,双向奔赴的时候一定是最优的时候,此时我们可以用。,但是发现好像没什么用,这时就应该及时止损,换一个思路,但一直想了下去,发现很难去实现。这道题貌似挺简单的,因为。
2024-11-14 22:15:36
341
原创 AtCoder Beginner Contest 360
算出这次的期望位置后,我们通过此次的期望位置来算出后面的期望位置,只是需要把保持在原地乘以1换成乘以此次的期望值,把改变位置的期望值中减1,改成减去此次的期望值,假如此次的期望为f[i],则。题意:把字符串每隔w个字符拆分一次,取每段的第c个字符拼接在一起,看能不能得到t。对于保持在原地,我们可以两个都不选择位置1处的球,它的概率是。,也可以选择两个都是位置1处的球,它的概率为。,因此,保持原地的概率为。,此时保持原地的期望为。然后循环k次就可以了,对于改变位置,我们有。的概率选择位置1,有。
2024-07-08 21:15:14
416
原创 牛客小白月赛97
可以先求出A类价值的上界和下届,然后B类价值就是上界减下届加一(因为在上界和下届中的A类价值的种类数都是可以取到的),上界就是区间中所有正数的数量,下届就是所有负数在前,正数从小到大排列,得到的相应最大值的种类数。分析:首先求一下序列a的前缀和,假设照度为len,然后 0<= i <= len,分别求出它的前i个数的最大值,然后A类价值就是这些最大值的个数,B类价值就是序列a的所有排列中A类价值的种类数;分析:我们需要在x的范围内去找n个平方数,如果x的范围内有a个平方数,那么找到的平方数的种类就是。
2024-07-03 14:39:53
397
原创 初步了解动态代理
为什么需要代理?代理可以无侵入式的给对象增强其他功能调用者 => 代理 => 对象代理长什么样?代理里边就是对象要被代理的样子Java通过什么保证代理的样子?通过接口保证,后边的对象和代理需要实现同一个接口,接口中就是被代理的所有方法。
2024-05-24 14:17:22
275
1
原创 TCP协议
TCP通信协议是一种可靠的网络协议,他在通信的两端各建立一个Socket对象注意:通信之前要保证连接已经建立通过Socket产生IO流来进行网络通信。
2024-05-20 22:18:56
165
原创 C语言输入输出
若为%x和%X格式,则以0x或0X开始,对于所有的浮点形式,#保证了即使不限任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随零被删除。示例:“%#o”、“%#8.0f”和“%+#10.3E”对于所有的数字格式,用前导零而不是用空格填充字段宽度。示例:“%010d”和“%08.3f”有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号。项目是左对齐的,也就是说,会把项目打印在字段的左侧开始处。
2024-05-16 18:06:24
230
原创 线程池学习
int corePoolSize, //核心线程数量int maximumPoolSize, //最大线程数量long keepAliveTime, //空闲线程最大存活时间TimeUnit unit, //时间的单位BlockingQueue<Runnable> workQueue, //任务队列ThreadFactory threadFactory, //创建线程工厂RejectedExecutionHandler handler//任务的拒绝策略参数很多,注意一下。
2024-05-14 17:10:00
235
1
原创 AtCoder Beginner Contest 353(蒟蒻补题)
我首先想到的是双重for循环,看了看数据范围,肯定会TLE,然后我又去仔细思考,想到了排序后二分,因为按照题意描述,排序后并不会影响答案(可以自己写几个数据观察一下),然后我想到了二分找到每个数第一个大于1e8的位置r,在r之前通过公式计算,r之后while循环计算,然后也TLE了,痛苦万分,看了看答案,一个新思路。,然后进一步分析,有一对大于1e8的减去一个1e8······cnt对就减去cnt*1e8,所以我们只需要算出。我们可以将其减去1e8,来代替对1e8取模。:看上边我截图的数据范围,1
2024-05-12 18:18:41
666
原创 多线程的学习
它被包含在进程之中,是进程中的实际运作单位。(应用软件中相互独立,可以同时运行的功能)4.创建FutureTask的对象(作用管理多线程运行的结果)3.创建MyCallable的对象(表示多线程要执行的任务)2.重写call(是有返回值的表示多线程运行结果)5.创建Thread类的对象(表示线程),并启动。3.创建子类的对象,并启动线程。多线程:有了多线程,可以让程序同时做多件事情。4.创建一个Thread类的对象,并开启线程。②实现Runnable接口的方式进行实现。①继承Thread类的方式进行实现。
2024-05-08 21:19:22
390
1
原创 牛客周赛 Round 38
分析:因为是等比数列,q为2时,最多也就操作15次左右,因此我们可以直接枚举100以内的数字作为公比,为什么确定是100呢,因为此时就达到10的7次方了,并且大于100最多也就3个数,所以为了不超时,大于一百的我们再分开讨论;分析:只需要统计每两个数字间的距离len,如果大于k就除以要求最大的平滑值,注意如果len恰好能被k整除,添加的数为商减一,其他的情况直接加上商即可,还有一件事,k有可能会大于所有的len,这时候添加一个数就行了,这可以证明出来操作一次是可行的;
2024-03-26 21:27:52
359
原创 Codeforces Round 936 (Div.2)
思路:首先这是个寻找最小的最大值 --> 二分,所以我们可以从1到n进行二分,找到这个x,二分出一个x时,我们可以用dfs进行寻找满足x的长度进行切割,最后统计可以切割出的数量,并与k进行比较,如果大于k,返回true,否则返回false。思路:先统计出数组最大的连续子数组和,再通过观察可发现,其数值增加是2的等比数列,因此计算下它的等比数列和即可(可以用快速幂,不过好像也不需要),C.听大佬说这是个比较典的题(但我不会,值得学习)
2024-03-24 00:00:16
475
1
原创 一道感觉比较典的题
让要找的数与右上角元素对比,如果大于它,移到下一行,否则在本行向左移动,如果超出了矩阵的边界就结束循环,那么要怎么记录它是第几个呢?我们可以用一个cnt去进行记录,
2024-03-12 21:14:47
221
1
原创 Codeforces Round 925(div.3)蒟蒻补题
题目大意为,Anna可以将某个数反转,并让后边的零消失,比如2100 --> 12,Sasha可以让某两个数以任意顺序合并在一起,如果最后还剩的这个数大于10的m次方,输出Sasha,否则输出Anna。题目大意为每个人写出自己看到每个人的顺序,且在自己看来,他的位置是第一位,其他人的相对位置是正确的,求对于这n个人是否拥有一个确切的位置顺序,有的话,输出yes,否则输出,no。题目大意为寻找ai + aj(i < j),能被x整除,ai - aj能被y整除的<i, j>的数对的数量。
2024-02-17 17:00:36
2079
1
原创 Codeforces Round 926 (Div. 2)(A~C)
刚开始可能会想着我每次赌上一块钱,在输x次后赌上一个较大的数不就可以不亏损吗,但实际上是赌场控制你的输赢,连输x次赢一次这是无法确定的,赌场可以在你上一块钱的时候让你赢,更新次数,这么会输的很惨,所以我们要换个思路,题目大意是说,有n×n个无色的方格,想要至少k条对角线上有至少1个上色的方格,询问要上色的最小方格数。次,问会不会出现被赌场把控着使其钱数始终小于n(n为任意正整数)。- 1)),否则失去y元,赌场有促销活动,不会连续输。元,如果该次赌钱为y(y为正整数),赢的话,赚钱y*
2024-02-16 18:23:07
383
1
原创 codeforces Hello 2024(C和D) 蒟蒻补题
我们可以将第一个盒子中的数换成第二个盒子中此时的数,并将第二个盒子中的数,改成这个 x,这样是不是相当于就给盒子进行了一次扩容,此时第一个盒子中是不是产生了第一个b[i]
2024-01-11 22:11:03
434
原创 Pinely Round 3 (Div. 1 + Div. 2) D. Split Plus K 蒟蒻补题
是不是所有ai - k的最大公因数?ai 在这个数组中确实没有了,但它留下来的影响还在,即有这样一个关系 ai + k = y + z,如果y和z不相等的话,之后我们在后续的操作中会对 y 和 z , 进行一样的的操作,比如说y + k = m + n,这样是不是相当于,在 ai那边再加了一个k,变成 ai + 2k = m + n + z,如此不断操作下去,直到右边的数全部相等,根据上边假设我们操作了 ri 次,我们最终会得到一个关系式 ai + ri * k = (ri+1)*
2023-12-27 12:29:04
1449
1
原创 算法双指针
双指针感觉更像是一种思想,使用两个指针在从两边向中间或者从一边同时开始但速度不同,也就是同向指针,快慢指针。双指针可以用来解决数组中元素的互换,并且还可以解决时间复杂度的问题,如果在某道题中用自己的方法会出现时间限制并且可以用双指针的话,不妨考虑一下它。双指针还可以解决在一定范围内要求的内容,比如说在一组连续的数中寻找一个或多个一定范围内的数的和为一个固定的值,或者寻找小于等于一个固定的值的范围等,下面我举几个例子,感觉说的好像废话啊,直接上题。
2023-11-18 22:11:01
43
1
原创 开始代码之旅
当然学习的话,肯定要不停的撸代码,自己因为还有其他学业,每天恐怕只能抽出一或两或三个小时来进行写代码,emmm,充满不确定性,不确定才是人生常态嘛,慢慢来就行了,古老的谚语,曾经说过:水滴石穿。目前准备把C语言的基础知识学学,学到指针,之后学一点算法,唉,还很遥远,慢慢来吧。虽然人不能太过于功利,但养家糊口也不丢人,学了技术,未来肯定要进一些公司,先了解企业吧,还不知道要去哪里,慢慢学吧,希望未来能养活自己吧,普通人的一生。
2023-10-11 22:59:34
58
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人