1.Leetcode(4h)
这里参考灵神的题解,觉得枚举中间,以及两次遍历用到两个hash表,同时顺序还得是这样;很巧妙

这里pre 存储的是当前遍历到x,之前的所有数字以及出现的次数
suf 统计的是当前遍历到x,之后的所有数字及出现的次数(通过完全遍历,再减的形式)
HashMap (包含装箱,hash运算)相比于数组的优势是:适应任意整数域,节省空间,逻辑简洁。数据量小的时候,还是数组快;
java
for (int x : nums) { // x = nums[j]
suf.merge(x, -1, Integer::sum); // suf[x]-- // 撤销
pre.merge(x, 1, Integer::sum); // pre[x]++
// 现在 pre 中的是 [0,j-1],suf 中的是 [j+1,n-1]
ans += (long) pre.getOrDefault(x * 2, 0) * suf.getOrDefault(x * 2, 0);
}
Leetcode的链表的剩下部分

刷到hard直接累了,直接不想刷了,看下思路直接复制的
2.小程序部署的一些问题(2h)
这里主要是小程序调用的时候,后端的websocket会断开,问gpt是同步调用资源耗尽的问题;但没法排查;把issues看完,没有这个问题,可能这个项目部署小程序就是有点问题;明天先看工作流调通把,后面思路可以作为实习的一个功能点,重构下写进去,并参考这个项目的架构
3.整理rag知识(1.5h)
包括了早上的面试,主要就是怎么开发的,项目改进,自己做了哪一部分实现了什么功能;
一些ocr/milvus/rag的过程;但好像纯后端开发问优化的多些,大模型应用对这些应该加分;
都准备着,用到再说;
心得:感觉很充实的一天,但好像也啥也没干,语法,项目也没学;emm,之后以搞项目,总结项目为主,八股跟进,题每天保持手感就行,语法和框架也是不会了在补视频,这样的节奏是对的/