学习日记day59

Day59_0116

专注时间:目标是:5h30~6h。实际:4h31min

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

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

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

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

学习内容:全拿来做算法题了。

总结与心得:懒惰了,没有用好时间。

《695.岛屿的最大面积》

python 复制代码
class Solution(object):
    def maxAreaOfIsland(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        def dfs(grid,i,j):
            if not (0<=i<len(grid) and 0<=j<len(grid[0])):
                return 0
            if grid[i][j]!=1:
                return 0
            grid[i][j]=2
            return 1+dfs(grid,i-1,j)+dfs(grid,i+1,j)+dfs(grid,i,j-1)+dfs(grid,i,j+1)
        res = 0
        for i,row in enumerate(grid):
            for j,x in enumerate(grid[0]):
                if grid[i][j]==1:
                    res = max(res,dfs(grid,i,j))
        return res

《827.最大人工岛》

python 复制代码
class Solution(object):
    def largestIsland(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        n = len(grid)
        #dfs求面积的过程中修改格子值以方便后续映射到格子对应陆地面积。而后遍历0,看他的上下左右
        def dfs(grid,i,j):
            if not (0<=i<n and 0<=j<n):
                return 0
            if grid[i][j]!=1:
                return 0
            grid[i][j] = len(area)+2
            return 1+dfs(grid,i+1,j)+dfs(grid,i-1,j)+dfs(grid,i,j-1)+dfs(grid,i,j+1)
        
        area = []
        for i,row in enumerate(grid):
            for j,x in enumerate(row):
                if grid[i][j]==1:
                    area.append(dfs(grid,i,j))
        if not area:
            return 1
        
        res = 0
        for i,row in enumerate(grid):
            for j,x in enumerate(row):
                if grid[i][j]==0:
                    s = set()
                    for x,y in [i-1,j],[i+1,j],[i,j-1],[i,j+1]:
                        if 0<=x<n and 0<=y<n and grid[x][y]:
                            s.add(grid[x][y])
                    res = max(res,1+sum(area[idx-2] for idx in s))

        return res if res else n*n
相关推荐
浅念-7 小时前
C语言——动态内存管理
c语言·开发语言·c++·笔记·学习
ASKED_201916 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain
(❁´◡`❁)Jimmy(❁´◡`❁)17 小时前
Exgcd 学习笔记
笔记·学习·算法
云小逸18 小时前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
盐焗西兰花20 小时前
鸿蒙学习实战之路-Reader Kit构建阅读器最佳实践
学习·华为·harmonyos
深蓝海拓21 小时前
PySide6从0开始学习的笔记(二十七) 日志管理
笔记·python·学习·pyqt
慎独41321 小时前
科学赋能,让孩子专注高效爱上学习
学习
LGL6030A21 小时前
Java学习历程26——线程安全
java·开发语言·学习
学历真的很重要1 天前
【系统架构师】第二章 操作系统知识 - 第二部分:进程管理(详解版)
学习·职场和发展·系统架构·系统架构师
Nebula_g1 天前
线程进阶: 无人机自动防空平台开发教程(更新)
java·开发语言·数据结构·学习·算法·无人机