- 博客(167)
- 资源 (2)
- 收藏
- 关注
原创 刷题题单目录
这篇文章将是本人刷题题单记录帖子,为了督促自己以及分享自己的刷题感想。共十九个高频题,实时分享刷题思考并更新帖子直到完成所有题目。309.买卖股票的最佳时机含冷冻期。714.买卖股票的最佳时机含手续费。3652.按策略买卖股票的最佳时机。82.删除排序链表中的重复元素I。188.买卖股票的最佳时机IV。3573.买卖股票的最佳时机V。121.买卖股票的最佳时机。3.无重复字符的最长子串。1143.最长公共子序列。239.滑动窗口最大值。25.K个一组翻转链表。347.前K个高频元素。
2026-03-16 14:51:01
23
原创 superior哥深度学习系列(大纲)
🗺️ 完整知识图谱梳理🎯 不同应用场景的技术选型🔄 持续学习方法论📖 推荐学习资源🎊 学习历程回顾🏆 成果展示指南🔮 AI未来发展趋势🎯 个人发展建议。
2025-05-30 18:57:49
1334
1
原创 C++学习:六个月从基础到就业(导航目录)
这是我的C++学习之旅的开始。我将定期更新这个博客系列,分享我的学习进度和心得。如果你也在学习C++,欢迎一起交流讨论。在接下来的博客中,我将从C++基础语法回顾开始,逐步深入到更高级的主题!本博客系列将持续更新,每完成一个主题,我会在上面的目录中添加相应的链接。如果你有任何建议或问题,欢迎在评论区留言!
2025-03-22 19:51:02
1825
3
原创 NumPy 基础使用方法(基础+矩阵运算+Attention)
基础:NumPy核心是ndarray,创建用np.arrayzerosrandn;核心运算= 逐元素乘np.matmul标准矩阵乘法(线性代数/深度学习必备);Attention纯NumPy可完整实现,是Transformer的基础;必备函数:转置.T、softmax、指定轴求和sum(axis=)。
2026-04-10 20:46:44
456
原创 算法笔试必备:Python 高频函数 + 万能技巧
笔试算法题:Python 比 C++ 好写 3 倍,错率低 10 倍,速度快 2 倍。只要掌握上面这些,笔试几乎无敌。
2026-04-10 13:26:30
256
原创 某为26.4.8:路由器资源用量预测
简单来说,手搓一个BGD输入描述:输出描述:示例:输入:31000.10100 200 150 6000200 800 600 7500300 70 60 6500输出:4394.59 6.82 1.20 1.55描述:根据公式进行逐步的模拟递推。但需要注意的点:实现步骤:📊 复杂度分析机器学习模拟,非算法不分析复杂度。日期: 2026-4-9
2026-04-09 17:18:54
156
原创 某为26.3.18 大模型训练显存优化算法
🟡 中等动态规划0/1背包题目太长,无关内容很多,直接看输入输出示例即可。输入描述:输出描述:示例1:输入:1053 4 5 6 71 2 3 5 52 3 4 5 6输出:6。
2026-04-09 17:04:20
141
原创 [138] 随机链表的复制
🟡 中等链表哈希表给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y。
2026-04-02 11:24:07
173
原创 第一天(1-6章)
它的特点在于将有权重的层(卷积层或者全连接层)叠加至16层(或者19层),具备了深度(根据层的深度,有时也称为“VGG16”或“VGG19”)。VGG中需要注意的地方是,基于3×3的小型滤波器的卷积层的运算是连续进行的。组成:输入层、隐藏层(全连接层、卷积层、激活函数层、池化层、softmax with loss层,前两个需要学习参数参与,后三个无需学习参数)、输出层。初始权重一般是随机生成的,但是其数据分布对网络的训练效率也有很大的关联,一般根据激活函数会选择不同的初始权重分布。等,由人类定义的参数。
2026-03-31 14:31:13
338
原创 鱼书深度学习系列(导航目录)
虽然本人之前已经学习过了机器学习,但是对于深度学习没有系统的学习过,在深度学习的过程中,仍然有许多独特的优化和改进方法。鱼书是日本作家写的深度学习系列丛书,因此本系列,将发布本人在学习鱼书过程中的笔记和思考。我将以学习天为笔记间隔发布,同时作为自己一天的学习总结和回顾。
2026-03-30 16:48:24
74
原创 160相交链表
输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3。输入:intersectVal = 2, listA = [1,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,6,1,8,4,5]。解释:相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。
2026-03-24 22:06:17
336
原创 240 搜索二维矩阵
输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 20。输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5。每行的元素从左到右升序排列。每列的元素从上到下升序排列。
2026-03-24 20:11:21
62
原创 记录一次Segmentation fault (core dumped) 段错误(cuda编程)
发现将dref的空间错误的申请在了gpu上,那么当cpu想去读取dref时就会出错。因为cpu无法直接去读取gpu内的数据。没有找到具体的问题,只指出了是指针访问越界以及未定义行为。指出了一个大概的方向。当我把它注释掉后没有出现问题。推测问题出现在输出的cpu或者gpu数组上。使用makefile编译成功编译,但是在运行时出现。或者我想打印输出的数组时stdio报错,每次都停在compared函数上,成功输出正确的前缀和,问题解决!
2026-03-23 22:05:47
661
原创 54 螺旋矩阵
设定四个边界,左右上下,然后依次遍历上面的一行,右边的一列,底部的一行,以及左边的一列,每次遍历完后将对应的边界缩小,然后对比边界是否重叠。没有较为简单的方法,就是模拟法。
2026-03-23 16:36:00
41
原创 438 找到字符串中所有字母异位词
给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词。起始索引等于 6 的子串是 “bac”, 它是 “abc” 的异位词。起始索引等于 0 的子串是 “ab”, 它是 “ab” 的异位词。起始索引等于 1 的子串是 “ba”, 它是 “ab” 的异位词。起始索引等于 2 的子串是 “ab”, 它是 “ab” 的异位词。输入: s = “abab”, p = “ab”输出: [0,1,2]
2026-03-22 18:47:11
188
原创 560 和为K的子数组
用一个hash map存前缀和以及前缀和出现的频率,检查前缀和 - k是否出现在hash map里面,如果存在,res加上频率,然后将当前的前缀和存入hash map,遍历一遍数组即可得到答案。给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数。输入:nums = [1,1,1], k = 2。输入:nums = [1,2,3], k = 3。前缀和 - 前面某一段的前缀和 = 子区间的和。
2026-03-22 16:53:44
18
原创 15 三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [0,1,1]输入:nums = [0,0,0]输出:[[0,0,0]]
2026-03-22 14:10:13
37
原创 283 移动零
遍历数组,让快指针赋值给慢指针,但是快指针跳过0,慢指针在被赋值后才+1。最后慢指针给数组尾赋0。给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]输入: nums = [0]简单题重拳出击,16min。
2026-03-22 11:57:52
17
原创 128 最长连续序列
先把所有的数字放到hash set,然后遍历set(不遍历nums是因为set已经去重了),找set里面是否有num-1,如果没有代表num已经是head了,然后循环查找是否有num++,返回最大的长度即可。解释:最长数字连续序列是 [1, 2, 3, 4]。输入:nums = [1,0,1,2]
2026-03-22 11:32:46
14
原创 49 字母异位词分组
由于排序后的str顺序一致,所以创建一个hash map,遍历一遍vector,将排序后的str作为key,原数组的str作为value存在对应的key下,然后往res里面存入hash map里面的value即可。输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]字符串 “ate” ,“eat” 和 “tea” 是字母异位词,因为它们可以重新排列以形成彼此。输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]
2026-03-22 10:54:19
33
原创 模型部署需要考虑的性能指标和模型部署的步骤
通过减少模型的计算精度从而减少模型整体计算量的一种方法。一般针对激活值和权重进行量化,所以一般会说对cnv和linear这些计算密集算子进行量化。但是对于不同的数据分布,同一种tatio和distance对原数据的损失不同,所以要根据原数据的分布合理的设计ratio和distance。由于模型越来越复杂,希望减少模型的计算量和压缩模型,同时希望在量化后的模型精度损失尽量少。可以分为Memory bandwidth和compute bandwidth。该模型提出了一个评价模型性能的指标,计算密度。
2026-03-21 12:50:30
298
原创 C语言中的宏日志打印语法以及相对printf的优点
语法元素作用定义可变参数宏,接收任意数量参数代表宏中...的所有实际参数,转发给函数...(函数参数)声明可变参数列表va_listva_startva_end遍历和处理可变参数的标准工具vsnprintf格式化可变参数到缓冲区,安全版本这段代码用「可变参数宏 + 可变参数函数」实现了一个类似printf的日志打印接口,让你可以用方便地打日志。printf。
2026-03-20 16:42:27
421
原创 为WSL2 ubuntu20.04安装cuDNN 9.2
强烈建议去官网查看相关的安装和使用方法前置条件:wsl2的ubuntu已安装cuda 13以上。
2026-03-20 16:19:31
213
原创 CUDA算子开发(LLM方向)常见的一些术语
硬件层:SM/Tensor Core/Shared Memory是LLM算子优化的核心硬件资源,需围绕“提升Tensor Core利用率、减少全局内存访存”发力;编程层:Kernel函数、Thread/Block划分、__shared__变量是手写算子的核心语法,需对齐Warp、避免Warp分化;优化层:分块计算、内存复用、算子融合是LLM算子(如Attention、Softmax)的核心优化手段;分析层:吞吐量、显存占用、精度误差是验证算子效果的核心指标,需用Nsight Compute等工具分析。
2026-03-19 21:59:12
433
原创 word参考文献交叉引用的方法(包括批量把交叉引用改为上标、保留跳转功能到pdf)
这里我摘抄了余华作品的内容作为正文示例,正文后面假设是参考文献。2.点击编号里面的自定义新编号格式(wps里面叫自定义),3.把编号格式改成参考文献格式,点确定,4.替换里面,按CTRL+shift+=9.选择要插入的参考文献,然后确认即可。7.在交叉引用框里选之前设置的编号项。2.替换界面框里面勾选使用通配符,4.光标选择要插入引用的位置,8.引用内容里面选择段落编号。,即所有的交叉引用参考文献。首先给参考文献添加编号,
2026-03-19 11:44:24
1256
原创 25 K 个一组翻转链表
k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。输入:head = [1,2,3,4,5], k = 2。输入:head = [1,2,3,4,5], k = 3。先写翻转函数,然后断开k个链表,反转,然后连接左右的节点。输出:[2,1,4,3,5]输出:[3,2,1,4,5]
2026-03-18 22:58:47
30
原创 42 接雨水
如果从左往右遍历,那么只需要看是否在当前位置的左边是否有一个更短的柱子以及一个更长的柱子组成水槽。解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输入:height = [4,2,0,3,2,5]如果不小于或者栈为空,把当前元素压入栈中。
2026-03-18 22:04:57
137
原创 309 买卖股票的最佳时机含冷冻期
这次由于有了冷冻期,因此可以把不持有股票的状态分为三个:保持卖出,卖出,冷冻期;给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格。持有股票的初始状态为-prices0,其他的初始状态都定义为0,然后循环填dp表即可。解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。输入: prices = [1,2,3,0,2]
2026-03-18 16:39:37
27
原创 714 买卖股票的最佳时机含手续费
和122不限次买卖股票类似,但是卖出的情况中,有一个变化,卖出的第二种情况,变为了前一天持有股票+pricesi-fee。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。输入:prices = [1, 3, 2, 8, 4, 9], fee = 2。总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8。输入:prices = [1,3,7,5,10,3], fee = 3。
2026-03-18 15:54:02
43
原创 188 买卖股票的最佳时机4
和123题目类似,只是交易次数变成了最多k次,那么算上不操作的情况,一共有2k+1种情况,假如奇数为持有,那么偶数为不持有,对于每个持有的状态,都有两种可能:从前一天的持有状态转移过来,从前一个未持有的状态转移过来-pricesi。解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2。对于每个不持有的状态,都有两种可能:从前一天的不持有状态转移过来,从前一个持有的状态转移过来+pricesi。那么就可以进行递推了。
2026-03-18 15:21:06
39
原创 123 买卖股票的最佳时机3
对于2,有两种可能,1.延续前一天持有状态,2.当天买入,那么就是前一天的1再减去prices[i]转移过来,或者直接-prices[i],因为之前没有买卖,故本金为0。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。输入:prices = [3,3,5,0,0,3,1,4]
2026-03-18 14:54:14
186
原创 122 买卖股票的最佳时机2
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。
2026-03-18 14:01:08
41
原创 121 买卖股票的最佳时机 动态规划方法
dp[i][1],若i天未持有股票,那么共有两种可能,1.前一天也未持有股票,可以从dp[i-1][1]的状态转移过来,2.当天卖出股票,那么前一天必定持有股票,收益为dp[i-1][0]+prices[i]。dp[i][0],若i天持有股票,那么共有两种可能,1.前一天持有股票,可以从dp[i-1][0]的状态转移过来,2.当天持有股票,那么值为-prices[i]。在整个过程中一共有两个状态,1.持有股票,2.未持有股票,令dp[i][0]为状态1,dp[i][1]为状态2。
2026-03-18 13:33:21
16
原创 82 删除排序链表中的重复元素2
new一个卫士节点,然后设计两个节点p和q,让卫士节点连接head,p从前到后去遍历链表,q为p的next,去检查是否有重复的节点。给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字。返回 已排序的链表。输出:[1,2,5]
2026-03-18 11:55:40
22
原创 347 前k个高频元素
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。然后桶排序,建立一个长度为n+1的数组,目的是把hash map中的key放到数组序列value下面。先把数组中所有的整数放到hash map里面,key是num[i],value是频率。输入:nums = [1,2,1,2,1,2,3,1,3,2], k = 2。输入:nums = [1,1,1,2,2,3], k = 2。输入:nums = [1], k = 1。
2026-03-17 18:51:13
31
原创 1143 最长公共子序列
一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。对于要找出最大最小,且需要对比两个字符串的时候,可以尝试从结果倒推,如果发现可以将问题分解为同样的子问题时,尝试使用dp,找出条件,画出dp表。给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。
2026-03-17 17:25:49
191
YOLOv8基于视频的帧图像识别与目标检测实战:从项目文件结构开始到多场景应用的解析(包括完整代码、识别前和识别完的视频)
2025-03-09
基于python的实验,共有六个,学习的书籍是python程序设计基础
2025-03-13
Esp32 for Arduino2.0.7支持文件 Windows win10 64位
2023-03-16
zotero参考文献格式:GB/T 7714-2015,顺序编码,双语,姓名不大写,无 URL、DOI,引注有页码
2025-03-09
基于51单片机的串口主从机通信,能够在L1602液晶屏幕上实时显示电流并监测电压(包括proteus8仿真keil工程文件)
2023-05-15
基于51单片机的超声波油量距离检测报警系统(附带proteus仿真+keil工程代码)
2023-05-03
基于STM32F103R6的HAL库开发的十字路口交通灯设计(附带proteus仿真+keil工程代码)
2023-05-03
美国King County房价预测训练赛 机器学习 KingCounty房屋销售价格以及房屋的基本信息 模型训练
2022-05-10
torchvision MNIST手写数字图像数据集
2022-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅