学习日记day70

Day70_0127

专注时间:目标是:5h30~6h。实际:6h26min。1.调整学习路线;2.调整算法学习方法;3.重视工程能力。

每日任务: 饭后的休息(25min),学习间歇的休息(15min)都用手表计时器来监督

{step1} 40min =二刷 1 道力扣hot100 +昨天的题再做一遍 (如果是hard,只做一道就好 完成情况及时长: 二刷昨日题目:6min,今日题目:64 min );【学习资源:PyTorch官方文档:https://docs.pytorch.ac.cn/tutorials/beginner/basics/intro.html】1.5h=PyTorch工程实操(完成情况及时长: 0。把第二个pytorch网页的"局部禁用梯度计算"看懂,就去看第一个pytorch网页 ); {step4} 1h=周志华机器学习(完成情况及时长: 0min ); {setp3} 1.5h+(claude的《RL4LLM》+《Claude Opus 4.5深度思考RLHF学习路径》学习路径,时长: min ) {step2,计网考纲复习+模式识别复习} 3h =计算机网络考纲题目背诵] (完成情况及时长:);

学完机器学习,然后是深度学习。学完PyTorch,之后是Transformer与大模型架构(见Gemini3pro生成的阶段2)。学快一点。准备一个GitHub Repo把所有手撕过的算法整理进去,这会是最好的复习资料。

必须熟记的API、最简洁的GPT实现、带注释的Transformer实现、推荐系统模型库(包含主流模型实现)还有"Let's build GPT"系列学习视频见Claude的第20页。 冰哥听讲座,老师说: GPT是最好的老师,不需要其他家教,清华学生智商120,GPT有140。多用大模型来帮助学习。

学习内容:如上

总结与心得:依旧早起,早餐后娱乐了45min。中午也娱乐了1h,还好其他时间利用好专注下来了。回溯的感觉要好了一些,目前期末复习的任务量还是有点大。这几天都没搞RL4LLM。用typora,这种文件夹很方便复习和面试准备。

《131.分割回文串》

python 复制代码
class Solution(object):
    def partition(self, s):
        """
        :type s: str
        :rtype: List[List[str]]
        """
        #先分割,是回文串就记录答案。"使每个子串都是回文串"那么,是不是有点像动态规划?每步要依赖上一步。
        #或者把每次递归搜索看成是在字符串里加逗号(分割符号)的过程,len = n有n-1个位置可以放逗号。放置完逗号之后,左边s[:i+1](是s[i]作为子串的最后一个字符)应当是回文(需要判断吗),然后对右边s[i+1:]视作新的字符串进行同样的方法去递归就好了。
        #现在写写伪代码。应该是需要回文判断函数的。一定要有耐心。
        #**对每个串(分割结果)先判断是否回文**。若不是,则此轮(一轮递归的意思,每轮至多放n-1个逗号)清空path。递归终止,也就是剪枝。是回文就加入到path中?当len(path)==len(s)加入到ans中
        #n-1个位置,可以放插板也可以不放,就是2^(n-1)放法。放完插板要保证插板左边的是回文
        #第n-1个位置是一定要放挡板的(i==n-1时候一定要分割),不然就分割不出来那个字符。
        self.ans = []
        #临时路径列表,记录当前正在尝试的分割子串,比如递归过程中可能先存['a'],再存['a','a'],回溯时候恢复状态
        self.path = []
        #具体方法:在字符串的每个字符间隙选择是否分割,对于每个位置,有两种选择
            #1.不分割,继续往后延伸当前子串
            #2.分割,检查当前子串是否是回文串,若是则记录该子串,然后从下一个位置开始新的子串。通过递归检查所有可能的选择,最终收集合法的分割方案。
        n = len(s)
        #现在不知道参数怎么写,要写哪些
        def backtrack(i,start):
        #i:当前处理到字符串的第i个字符(索引从0开始)
        #start:当前正在构建回文串的起始位置(比如从0开始构建子串,还没分割时候,start=0)
        #递归终止条件:当前子串不是回文串,则需要剪枝?;下一步:当前路径列表长度==字符串长度,则收集该答案并终止递归
        #注意.append(list.copy())
            if i == n:
                self.ans.append(self.path[:])
                return
        #两次dfs (因为有 选择分割 和 选择不分割 两种选择)
            if i<n-1:
                #不分割,继续往后看
                backtrack(i+1,start)
        
        #分割:
            t = s[start:i+1]
        #第一个冒号:从字符串开始
        #第二个冒号:到字符串结束
        #-1:步长为-1,表示从后向前取字符
            if t == t[::-1]:
                self.path.append(t)
                backtrack(i+1,i+1)
                self.path.pop()
        
        backtrack(0,0)
        return self.ans

        
        
python 复制代码
class Solution(object):
    def partition(self, s):
        """
        :type s: str
        :rtype: List[List[str]]
        """
        #另一种解法:考虑s[i:]怎么分割,列举i:n的尾巴j就好
        self.path = []
        self.ans = []
        n = len(s)
        def backward(i):
            if i == n:
                self.ans.append(self.path[:])
                return 
            for j in range(i,n):
                t = s[i:j+1]
                if t == t[::-1]:
                    self.path.append(t)
                    backward(j+1)
                    self.path.pop()
        backward(0)
        return self.ans
相关推荐
西岸行者2 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意2 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码2 天前
嵌入式学习路线
学习
毛小茛2 天前
计算机系统概论——校验码
学习
babe小鑫2 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms2 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下2 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。2 天前
2026.2.25监控学习
学习
im_AMBER2 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J2 天前
从“Hello World“ 开始 C++
c语言·c++·学习