2025-Week27
刚才刷着算法题,突然想到上周的周记还没写。
找工作
我主要还是在Boss直聘上投简历。从3.7 离职算起,一开始3、4月份偶尔投简历,再加上这周集中投了几天,已经投了1000+了。总结如下:因为我没有Java后端的生产项目经验,他们目前招的都是至少有一个项目经验的(我自己做的dmeo不算)。就很尴尬,当初从Java后端进Android容易,现在想出来却不容易。
既然从杭州来了西安,我就做好了降薪的准备。最重要的一点是,无论哪个城市,我都不想再996了。有点时间探索自己喜欢的事情比赚多多的钱更重要。
截止到这周三,面试有些眉目,但还没有最后确定。
学习
刷算法题还是有用,之前做的一些题,最近的面试就用到了。
本周LeetCode
- 30[H] https://leetcode.cn/problems/substring-with-concatenation-of-all-words/description/ 滑动窗口(朴素哈希表是2000ms, 滑动窗口是20ms)
- 37[H] https://leetcode.cn/problems/sudoku-solver/description/ 数独就是固定9 × 9的二维数组,同时维护当前格子的行、列、所在3 × 3格子的数字占用情况,DFS。(按部就班糊出来是756ms,参考题解之后是49ms)
- 41[H] https://leetcode.cn/problems/first-missing-positive/description/ 原数组当成哈希表,观察到存储的值和索引之间的对应关系,交换数组内的元素即可保存排序状态。(时间O(n)空间O(n)糊出来是21ms,参考题解之后是1ms)
- 76[H] https://leetcode.cn/problems/minimum-window-substring/description/ 滑动窗口,还是观察题目给的数据量,非必要不new HashMap,而是new 数组或复用现有数组来统计元素出现的次数。
- 124[H] https://leetcode.cn/problems/binary-tree-maximum-path-sum/description/ 递归。相比于前面四道hard,这道二叉树感觉不难,果然数组形式的hard是真难。树形DP的解法以后再看吧,累了
连续做了几道Hard难度,感觉确实很难。辛辛苦苦做出来,要么超时、要么时间复杂度巨高。只有看题解后,再尝试一遍,才能慢慢领会其中的精妙。每道题都挺费时间的,感觉得俩小时左右。
其他
最近在看Core Dump的视频,能学到一些东西。
下周继续跟进面试状态 & 刷算法题。