学习日记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 小时前
嵌入式学习!(一)C++学习-STL(21)-26/1/27
开发语言·c++·学习
知识分享小能手2 小时前
Oracle 19c入门学习教程,从入门到精通,Oracle系统调优 —— 内存结构与参数优化详解(15)
数据库·学习·oracle
??(lxy)2 小时前
GIT使用学习
git·学习
im_AMBER2 小时前
Leetcode 108 交换链表中的节点
数据结构·笔记·学习·算法·leetcode·链表
再卷还是菜2 小时前
网安渗透学习小结--sql注入
数据库·sql·学习
LaoZhangGong1232 小时前
学习TCP/IP的第8步:紧急数据
网络·stm32·单片机·学习·tcp/ip·以太网
求真求知的糖葫芦2 小时前
微波工程4.3节散射矩阵(S参数矩阵)学习笔记(上)(自用)
笔记·学习·矩阵·射频工程
近津薪荼4 小时前
优选算法——双指针4(单调性)
c++·学习·算法
强子感冒了4 小时前
MYSQL学习笔记:DML & DQL 核心语法
笔记·学习·mysql