Java核心技术_卷
Java后端
·2025-02-26
离职进入交接期,不管事了,终于放松了,到点下班心情舒畅。 1.leetcode hot * 1 76. 最小覆盖子串 ,通过基础算法精讲03课程之后,按照自己思路也是做出俩了,双指针玩的越来越6了。具体思路:从0枚举右端点,当出现右端点的字符出现次数大于目标字符串时,说明满足覆盖串,统计左右端点距离,截个当前子串,缩小左边界直到不满足,继续枚举右端点,再次满足条件,比较原来的左右端点距离和当前的距离,小就覆盖原来的。直到结束。(这个只是通过,在时间复杂度和空间复杂度还有优化空间) public String minWindow(String s, String t) { int sLen = s.length(); int tLen = t.length(); int[] sCnt = new int[128]; int[] tCnt = new int[128]; int ansLeft = -1; int ansRight = sLen; int left = 0; String ans = ""; // 统计t字符个数 for(int i=0;i<tLen;i++){ tCnt[t.charAt(i)]++; } for(int right=0;right<sLen;right++){ sCnt[s.charAt(right)]++; // 枚举右端点,加入窗口 while(check(sCnt,tCnt)){// 是否涵盖 if(right - left < ansRight - ansLeft){ // 找到更小的串 ans = s.substring(left,right+1); ansRight = right; ansLeft = left; } sCnt[s.charAt(left)]--; // left++;// 左窗口右移 } } return ans; } public boolean check(int[] sCnt,int[] tCnt){ for(int i=0; i<128;i++){ if(tCnt[i] > sCnt[i]){ return false; } } return true; } 2.软考pv练习题练习,学过的知识点相关题通过率也是达到了80%。继续新知识点。 3.项目这块,继续rpc,学过鱼皮哥的rpc框架后再学这个冰河的感觉轻松很多,整个rpc框架的整体架构大差不差,今天过了数据传输协议和消息编解码,序列化器这块,最复杂的还是编解码的这些io操作,各种inputstream,outstream,这玩意怎么记得住(🙃,虽然鱼皮哥说过这是死代码,但是感觉自己写不出来有点无力。。。)。 4.健生恢复性训练,好久没练慢慢来。 5.英语口语练习。 6.修改简历,又忘记到脑后了。明天一定不能忘!!! 7.面试题复习开始。 8.云图库为框架,开改。
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP