随着十二月的到来,上海的空气愈发寒冷,来看一下我最近都做了些什么吧。
学习#
算法 算法方面,仅复习了下DP问题,动态规划这方面确实有难度,比如:
- 求解一个容量为n的背包,最多能装多少,这是DP问题
- 求解一个容量为n的背包,有多少种装满的方法,这是组合问题
组合问题要用回溯法,这个方法还是比较容易的。
然而,组合类问题使用回溯法会出现 的时间复杂度,一般来说对于 输入量级的数据规模都会超时。
所以,为了使用动态规划,本质上是空间换时间,降低到 的时间复杂度,可以承受 量级的数据规模。
组合类DP的一般递推公式(一维)为:
// 这里表示dp[j]选择该物品的方法总数,dp[j-nums[i]]表示不选改物品方法总数dp[j] += dp[j - nums[i]]算法方面,还学习了一下单调栈,在java语言中可以这么用:
// 这里使用双端队列模拟单调栈,仅在一端进行输入和输出Deque<?> stack = new LinkedList<>();
// 常见的插入方法,offer相比add更好的是不会在失败后抛出异常而是返回错误码静默处理stack.offerFirst();
// 其他的删除和返回栈顶的方法,poll比remove好也是因为不会抛出异常stack.pollFirst();stack.peekFirst();总体来说就是这些,学的比较少,这周需要加把劲。
个人博客大升级!#
NEW 这周最大的精力花在了升级自己的博客上,总算是解决了一些加载上的难题,现在国内网络访问速度应该会快很多。其次,修复了朋友圈组件无法加载的问题、优化waline组件样式,添加文章点赞功能、还添加了文章AI摘要,这个算是一个比较新的东西。
使用的是洪墨AI,也是我博客友情链接的一位大佬,张洪Heo的设计。
因为我对默认组件的所有主题样式都不是很满意,所以用ChatGPT润色了一下,做了一个简洁版本的css。
其次,还优化了个人主页的svg动画,现在左上角以及footer的文章信息组件右下角都有一个动画版的连笔字效果。
还给我的网站添加了开往的图标,我了解下来这是一个国内发起的社区,主要是类似于社交平台的好友功能,可以实现一个随机跳转个人页面的站点,目前我已经提交了申请,你也可以在我页面的菜单栏上点击这个火车。
我也添加了一个简单的跳转页面,只需要访问/travelling就可以进入。
博客页面也通过nprogress这么一个JS库实现了简易加载进度条,避免闪屏现象。
个人Portfolio制作#
portfolio中文就是个人作品集,我在vercel上找了一个个人hero页面的模板,部署到了me.yux-bao.site,其中projects页面跟目前的projects其实差不多。
学习了Reactive设计模式#
响应式架构模式,源于我对Spring5.0+中的Spring WebFlux模块的探索,分享一些我对其的见解。
数据就像水流Flow,在Pub和Sub之间流动。
Backpressure背压是Sub对Pub传递过来的数据的反向控制,当数据传递速度过快,Sub无法及时consume时,就需要backpressure来支持。
这种设计模式太精妙了,就像水流在水管内流速过快时,水管的表面会产生反向的摩擦力,阻碍水流的移动速度。”响应式“的精髓,就在于对数据的实时控制,欲速则不达,物极必反,顺其自然的道理,不阻塞不等待,就是一种禅宗。
生活#
生活上没有什么特别的,目前在大学里每天主要自习。
洪墨AI
nprogress