学习日记day53

Day53_0110

专注时间:3h08min

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

40min =二刷 1 道力扣hot100(如果是hard,只做一道就好 完成情况及时长: 40 );【学习资源:PyTorch官方文档:https://docs.pytorch.ac.cn/tutorials/beginner/basics/intro.html】1.5h=PyTorch工程实操(完成情况及时长: 0把第二个pytorch网页的"局部禁用梯度计算"看懂,就去看第一个pytorch网页 );1h=周志华机器学习(完成情况及时长: ?1h25min ); 1.5h+(claude的RL4LLM学习路径,时长: 40+10 )

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

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

学习内容: 断更了很多天,有些天是休息偷懒的,有些是在学习的,无论如何再次记录下来,坚持吧。换学习方向了。

总结与心得:昨天专注时长:7小时08分,主要是因为去教学楼学习了,还完成了最优化大作业,很好。玩抖音浪费了3个小时,改一改,主要是当时没有关闭网页放下耳机的决心,不太好。饭后的休息(25min),学习间歇的休息(15min)都用手表计时器来监督

《验证二叉搜索树》

递归以及中序遍历的迭代写法仍然是跨不过的高山,不过,继续加油就好了。

python 复制代码
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def isValidBST(self, root):
        """
        :type root: Optional[TreeNode]
        :rtype: bool
        """
        #中序遍历得到的数组是严格单调增的。
        #递归、迭代
        self.res = []
        def dfs(root):
            if not root:
                return 
            dfs(root.left)
            self.res.append(root.val)
            dfs(root.right)
        dfs(root)
        for i in range(len(self.res)-1):
            if self.res[i]>=self.res[i+1]:
                return False
        return True
        
python 复制代码
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def isValidBST(self, root):
        """
        :type root: Optional[TreeNode]
        :rtype: bool
        """
        #迭代
        stk = []
        res = []
        cur = root
        #条件是 或 不是并且
        while stk or cur:
            #这个迭代法还是太难想了
            if cur:
                stk.append(cur)
                cur = cur.left
            else:
                cur = stk.pop()
                res.append(cur.val)
                cur = cur.right
        for i in range(len(res)-1):
            if res[i]>=res[i+1]:
                return False
        return True

        
python 复制代码
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def isValidBST(self, root):
        """
        :type root: Optional[TreeNode]
        :rtype: bool
        """
        #利用递归,边递归边判断 arr[i]>=arr[i+1]
        #只需要两个值。还是没思路
        #如果该二叉树的左子树不为空,则左子树上所有节点的值均小于它的根节点的值; 
        #若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左右子树也为二叉搜索树。
        #这启示我们设计一个递归函数 helper(root, lower, upper) 来递归判断,函数表示考虑以 root 为根的子树,判断子树中所有节点的值是否都在 (l,r) 的范围内(注意是开区间)。
        #如果 root 节点的值 val 不在 (l,r) 的范围内说明不满足条件直接返回,否则我们要继续递归调用检查它的左右子树是否满足,如果都满足才说明这是一棵二叉搜索树。
        def helper(root,lower=float('-inf'),upper=float('inf')):
            if not root:
                return True
            val = root.val
            #一定要先判断根节点是否满足条件
            if val<=lower or val>=upper:
                return False
            if not helper(root.left,lower,val):
                return False
            if not helper(root.right,val,upper):
                return False
            return True
        return helper(root)
        
相关推荐
西岸行者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++·学习