学习日记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
相关推荐
盐水冰1 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
Hello小赵1 小时前
视频压缩编码学习(一)—— 基础知识大集合
学习
似水明俊德2 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
adore.9683 小时前
3.18 复试学习
学习
留白_3 小时前
MySQL学习(9)——索引
学习
请你喝好果汁6413 小时前
生信学习笔记:ArchR 处理小麦单细胞 ATAC-seq 中的细胞数差异与 Embedding 报错调试
学习
jinanwuhuaguo4 小时前
OpenClaw、飞书、Claude Code、Codex:四维AI生态体系的深度解构与颗粒化对比分析
大数据·人工智能·学习·飞书·openclaw
萨文 摩尔杰4 小时前
GPS原理学习
学习·fpga开发
fengci.5 小时前
ctfshow(web入门)295-300
java·开发语言·学习
renhongxia17 小时前
多模态融合驱动下的具身学习机制研究
运维·学习·机器人·自动化·知识图谱