news 2026/4/18 14:28:28

学习日记day50

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习日记day50

Day50_1215

专注时间:5H55min

每日任务:2h=复习数据库(完成情况及时长);1h=二刷2道力扣hot100(如果是hard,只做一道就好完成情况及时长:今日1道高频面试手撕题146.LRU缓存,做了2H46min);【学习资源:PyTorch官方文档:https://docs.pytorch.ac.cn/tutorials/beginner/basics/intro.html】1.5h=PyTorch工程实操(完成情况及时长:10+8+45把第二个pytorch网页的“局部禁用梯度计算”看懂,就去看第一个pytorch网页);1h=周志华机器学习(完成情况及时长:7);【按照Claude的路线】1h=手撕机器学习算法(完成情况及时长:??);计算机网络45分钟(完成情况及时长:??

学完机器学习,然后是深度学习、搜广推经典模型(也有很多要手撕的,见Claude生成的)。学完PyTorch,之后是Transformer与大模型架构(见Gemini3pro生成的阶段2)。学快一点,学完还要做搜广推的实战项目。准备一个GitHub Repo把所有手撕过的算法整理进去,这会是最好的复习资料。

必须熟记的API、最简洁的GPT实现、带注释的Transformer实现、推荐系统模型库(包含主流模型实现)还有“Let's build GPT”系列学习视频见Claude的第20页。

学习内容: 如上

总结与心得:专注时长很可以。周六周日懈怠+休息了。《146.LRU缓存》是高频手撕面试题。看了《模式识别与机器学习》历年试卷,感觉不去上课,不改学习方法会挂科啊【GitHub repo并且学习的ML等算法都要去做笔记手敲,这样才好复习,而且也才是真正学进去,不然又忘记了。】以后每次课都去,晚上下课后再去练,练完就不做有氧了。买个笔记本电脑充电宝吧。

《146.LRU缓存》

class DoublyLinkedNode(object): def __init__(self,key=0,value=0): self.prev = None self.next = None self.key = key self.value = value class LRUCache(object): #move2head deletenode deleltetail add2head #get(3)那么key:3对应的(key,value)就算被使用过了 def __init__(self, capacity): """ :type capacity: int """ #注意这里用了伪头节点和伪尾节点,所以有些函数的逻辑和双向链表不一样 self.cache = dict() self.size = 0 self.capacity = capacity self.head = DoublyLinkedNode() self.tail = DoublyLinkedNode() self.head.next = self.tail self.tail.prev = self.head def get(self, key): """ :type key: int :rtype: int """ if key not in self.cache: return -1 node = self.cache[key] self.move2head(node) return node.value def put(self, key, value): """ :type key: int :type value: int :rtype: None """ if key in self.cache: node = self.cache[key] node.value = value self.move2head(node) else: node = DoublyLinkedNode(key,value) self.cache[key] = node self.add2head(node) self.size += 1 if self.size > self.capacity: denode = self.removetail() self.size -= 1 #dict.pop(key)删除键值对 self.cache.pop(denode.key) def delete(self,node): node.next.prev = node.prev node.prev.next = node.next def move2head(self,node): self.delete(node) self.add2head(node) def add2head(self,node): #伪头节点 node.next = self.head.next node.prev = self.head self.head.next.prev = node self.head.next = node def removetail(self): #伪尾节点 #return:DLinkedNode 被移除的节点(用于删除哈希表中的对应项) node = self.tail.prev self.delete(node) return node # Your LRUCache object will be instantiated and called as such: # obj = LRUCache(capacity) # param_1 = obj.get(key) # obj.put(key,value)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 11:06:38

合并区间(二维vector使用,多维vector使用默认sort)

注意点&#xff1a; 1.sort自带的比较函数是支持多维数组比较的&#xff0c;使用的是字典序比较&#xff1b; 2.对于多维的vector&#xff0c;可以使用back&#xff0c;front,at等函数 比较例子&#xff1a; 二维 vector 示例 vector<vector<int>> v {{2,5},{1,3}…

作者头像 李华
网站建设 2026/4/18 5:54:57

ubuntu远程rdp连接屏幕分辨率太小

# 切换root权限 sudo -i # 编辑XRDP的会话配置文件 nano /etc/xrdp/startwm.sh在文件的最顶部&#xff08;#!/bin/sh下面&#xff09;添加一行分辨率配置&#xff08;比如设置为 1920x1080&#xff0c;可根据需求调整&#xff09;&#xff1a;bash运行# 设置XRDP默认分辨率&…

作者头像 李华
网站建设 2026/4/18 11:32:09

【2025最新】植物大战僵尸融合版玩法革新、下载安装教程与策略解析

前言 在众多塔防游戏中&#xff0c;《植物大战僵尸》凭借轻松的操作体验、丰富的关卡设计与颇具趣味的策略层次成为塔防类游戏中的经典之作。而近年来衍生出的 《植物大战僵尸融合版》&#xff0c;则在这一基础上进行了深度开发。它通过引入全新的植物融合机制、僵尸形态改造系…

作者头像 李华
网站建设 2026/4/18 12:56:41

40、GCC对C语言的扩展

GCC对C语言的扩展 1. 引言 GNU编译器集合(GCC)为C语言提供了许多扩展,其中一些对系统程序员特别有价值。大部分扩展能让程序员向编译器提供代码行为和预期用途的额外信息,帮助编译器生成更高效的机器代码,还有些扩展填补了C语言底层的空白。 GCC提供的部分扩展已被纳入…

作者头像 李华