- 博客(87)
- 收藏
- 关注
原创 从逻辑回归到浅层神经网络:深度学习入门核心概念详解(附源码)
在人工智能飞速发展的今天,深度学习已成为推动计算机视觉、自然语言处理、语音识别等领域的核心技术。但对于刚入门的同学来说,面对“激活函数”“反向传播”“梯度下降”等术语,常常感到一头雾水。本文将从最基础的逻辑回归出发,逐步带你理解深度学习的核心思想,并解释为什么我们需要非线性、为什么向量化如此重要、以及浅层神经网络是如何工作的。
2025-11-26 19:14:40
569
原创 MOTR: End-to-End Multiple-Object Tracking with TRansformer推理学习
本地vscode连接antodl的服务器,然后搭建项目所需的环境,根据readme的说明进行预训练的推理,自己尝试分析推理的txt文件,最后可以通过图表可视化以及txt文本查看推理内容。
2025-10-21 15:49:06
826
1
原创 Linux下目录递归拷贝的单进程实现
利用POSIX API在Linux系统上编写应用程序,仿写cp命令的部分功能,将源文件/目录复制到另外一个文件或复制到另外一个目录。
2025-06-01 21:00:37
693
原创 Linux下哲学家进餐问题的多线程实现与解决
利用POSIX API在Linux系统上编写应用程序,通过多线程和互斥量机制实现哲学家进餐问题(哲学家的数量可以通过简单的配置进行修改)在实现基本功能的基础上,尝试采用多种思路来预防死锁,包括并不限于以下思路。
2025-05-23 16:59:54
463
原创 Linux下生产者消费者问题的多进程实现
define SEMKEY 123 // 信号量集的键值#define SHMKEY 456 // 共享内存的键值#define BUFNUM 10 // 缓冲区大小(元素数量)#define SEMNUM 3 // 信号量数量系统资源的键值(SEMKEY/SHMKEY):用于标识和获取信号量和共享内存缓冲区大小(BUFNUM):循环缓冲区可以存储的元素数量信号量数量(SEMNUM):将创建3个信号量defined(_SEM_SEMUN_UNDEFINED)//GNU标准库#else。
2025-05-23 11:59:19
832
原创 Linux内核源码阅读——虚拟内存
不同的虚拟区间其处理操作可能不同,Linux 在这里利用了面向对象的思想,即把一个虚拟区间看成一个对象,用 vm_area_struct 描述了这个对象的属性,其中的 vm_operations_struct 结构描述了在这个对象上的操作,其定义在include/linux/mm.h。之所以这样分割,是因为每个虚拟区间可能来源不同,有的可能来自可执行映像,有的可能来自共享库,而有的则可能是动态分配的内存区,所以对每一个由vm_area_struct 结构所描述的区间的处理操作和它前后范围的处理操作不同。
2025-05-12 06:48:20
963
原创 动态规划10——路径问题——地下城游戏
任何房间都可能对骑士的健康点数造成威胁,也可能增加骑士的健康点数,包括骑士进入的左上角房间以及公主被监禁的右下角房间。如果骑士遵循最佳路径:右 -> 右 -> 下 -> 下 ,则骑士的初始健康点数至少为 7。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为。的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。个房间组成的二维网格。),要么包含增加骑士健康点数的魔法球(若房间里的值为。
2025-04-11 02:44:37
310
原创 动态规划9——路径问题——最小路径和
给定一个包含非负整数的m x n网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。每次只能向下或者向右移动一步。7因为路径 1→3→1→1→1 的总和最小。12。
2025-04-10 23:22:14
197
原创 动态规划8——路径问题——下降路径最小和
给你一个n x n的整数数组matrix,请你找出并返回通过matrix的的。可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置(row, col)的下一个元素应当是或者。13如图所示,为和最小的两条下降路径-59如图所示,为和最小的下降路径。
2025-04-06 22:44:28
161
原创 动态规划7——路径问题——礼物的最大价值
来源:牛客网在一个m×nm\times nm×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?如输入这样的一个二维数组,[1,3,1],[1,5,1],[4,2,1]那么路径 1→3→5→2→1 可以拿到最多价值的礼物,价值为12示例1。
2025-04-06 21:46:50
251
原创 动态规划6——路径问题——不同路径II
给定一个m x n的整数数组grid。一个机器人初始位于(即grid[0][0]机器人尝试移动到(即机器人每次只能向下或者向右移动一步。网格中的障碍物和空位置分别用1和0来表示。机器人的移动路径中不能包含有障碍物的方格。返回机器人能够到达右下角的不同路径数量。测试用例保证答案小于等于2 * 109。23x3 网格的正中间有一个障碍物。从左上角到右下角一共有2条不同的路径:1. 向右 -> 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右 -> 向右101。
2025-04-06 20:37:05
346
原创 动态规划5——路径问题——不同路径
一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?283从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下 -> 向右 -> 向下282 * 109。
2025-04-06 16:06:39
206
原创 动态规划4——斐波那契数列模型——解码方法
一条包含字母A-Z的消息通过以下映射进行了然而,在已编码的消息时,你意识到有许多不同的方式来解码,因为有些编码被包含在其它编码当中("2"和"5"与"25"例如,"11106""AAJF""06"注意,可能存在无法解码的字符串。给你一个只含数字的字符串s,请计算并返回方法的。如果没有合法的方式解码整个字符串,返回0。题目数据保证答案肯定是一个的整数。s = "12"2它可以解码为 "AB"(1 2)或者 "L"(12)。s = "226"3。
2025-04-06 14:59:38
375
原创 动态规划3——斐波那契数列模型——最小花费爬楼梯
给你一个整数数组cost,其中cost[i]是从楼梯第i个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为0或下标为1的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。,20]15你将从下标为 1 的台阶开始。- 支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15。cost = [,100,,1,,100,,100,6你将从下标为 0 的台阶开始。- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。
2025-04-06 13:57:35
350
原创 动态规划2——斐波那契数列模型——三步问题
三步问题。有个小孩正在上楼梯,楼梯有 n 阶台阶,小孩一次可以上 1 阶、2 阶或 3 阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模 1000000007。:n = 3:4有四种走法:n = 5:13。
2025-04-05 17:04:01
229
原创 动态规划1——斐波那契数列模型——第 N 个泰波那契数
泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数n,请返回第 n 个泰波那契数 Tn 的值。
2025-04-05 16:30:57
272
原创 算法入门17——二分查找算法——二分查找
给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。numstarget= 949 出现在nums中并且下标为 4numstarget= 2-12 不存在nums中因此返回 -1numsn[1, 10000]nums。
2025-04-02 12:08:45
267
原创 算法入门16——滑动窗口——最小覆盖子串
给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。tts"BANC"最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。"a"整个字符串 s 是最小覆盖子串。""t 中两个字符 'a' 均应包含在 s 的子串中,因此没有符合条件的子字符串,返回空字符串。t。
2025-04-02 09:47:42
181
原创 算法入门15——滑动窗口——串联所有单词的子串
给定一个字符串s和一个字符串数组wordswords中所有字符串。s中的是指一个包含words中所有字符串以任意顺序排列连接起来的子串。"abcdef""abefcd""cdabef""cdefab""efabcd""efcdab""acdbef"words返回所有串联子串在s中的开始索引。你可以以返回答案。2.[0,9]因为 words.length == 2 同时 words[i].length == 3,连接的子字符串的长度必须为 6。子串 "barfoo" 开始位置是 0。
2025-04-01 23:26:14
670
原创 算法入门14——滑动窗口——找到字符串中所有字母异位词
给定两个字符串s和p,找到s中所有p的的子串,返回这些子串的起始索引。不考虑答案输出的顺序。[0,6]起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。[0,1,2]起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。p。
2025-04-01 21:39:30
326
原创 算法入门13——滑动窗口——水果成篮
你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组fruits表示,其中fruits[i]是第i棵树上的水果。你想要尽可能多地收集水果。给你一个整数数组fruits,返回你可以收集的水果的数目。fruits = [3可以采摘全部 3 棵树。3可以采摘 [1,2,2] 这三棵树。如果从第一棵树开始采摘,则只能采摘 [0,1] 这两棵树。4可以采摘 [2,3,2,2] 这四棵树。如果从第一棵树开始采摘,则只能采摘 [1,2] 这两棵树。,3,3,4]5。
2025-04-01 17:43:58
288
原创 算法入门12——滑动窗口——将x减到0的最小操作数
给你一个整数数组nums和一个整数x。每一次操作时,你应当移除数组nums最左边或最右边的元素,然后从x中减去该元素的值。请注意,需要数组以供接下来的操作使用。如果可以将x减到0,返回;否则,返回-1。2最佳解决方案是移除后两个元素,将 x 减到 0。-15最佳解决方案是移除后三个元素和前两个元素(总共 5 次操作),将 x 减到 0。
2025-04-01 02:26:21
187
原创 算法入门11——滑动窗口——最大连续1的个数
给定一个二进制数组nums和一个整数k,假设最多可以翻转k个0,则返回执行操作后数组中连续1的最大个数。6,1,1,1,1,粗体数字从 0 翻转到 1,最长的子数组长度为 6。10[0,0,1,1,,1,1,1,粗体数字从 0 翻转到 1,最长的子数组长度为 10。0。
2025-03-31 22:09:42
353
原创 算法入门10——滑动窗口——无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc"所以其长度为 3。1因为无重复字符的最长子串是"b"所以其长度为 1。3因为无重复字符的最长子串是"wke"所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。
2025-03-31 21:16:08
192
原创 算法入门9——滑动窗口——长度最小的子数组
给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2子数组[4,3]是该条件下的长度最小的子数组。10。
2025-03-31 20:17:57
151
原创 算法入门8——双指针——四数之和
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且的四元组bcd你可以按返回答案。
2025-03-31 18:20:59
282
原创 算法入门7——双指针——三数之和
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。
2025-03-31 12:16:42
268
原创 算法入门6——双指针——和为s的两个数
1.题目来源:牛客网输入一个升序数组 array 和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,返回任意一组即可,如果无法找出这样的数字,返回一个空数组即可。数据范围: 0≤len(array)≤105 0 \le len(array) \le 10^5 \ 0≤len(array)≤105 , 1≤array[i]≤106 1 \le array[i] \le 10^6 \ 1≤array[i]≤106示例1。
2025-03-31 11:24:34
281
原创 算法入门5——双指针——有效三角形的个数
给定一个包含非负整数的数组nums,返回其中可以组成三角形三条边的三元组个数。3有效的组合是:2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,34。
2025-03-31 02:23:44
454
原创 算法入门4——双指针——盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。49图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。1。
2025-03-31 01:59:04
242
原创 Linux系统中用Shell脚本训练(WSL)
创建一个 monitor_cpu.sh 文件在文本编辑器中,输入按住“ctrl + x”退出编辑器,然后 yes 后 enter 保存一下。然后赋予脚本运行权限最后运行脚本如果你不想运行了,记得“ctrl + c”终止终端。
2025-03-07 10:30:01
345
原创 C++——类和对象(下)
注意:初始化列表中按照成员变量在类中声明顺序进行初始化,跟成员在初始化列表出现的先后顺序无关。建议声明顺序和初始化列表顺序保持一致。
2025-01-31 16:39:18
985
原创 C++——类和对象(中)
说明:C++把类型分成内置类型(基本类型)和自定义类型。内置类型就是语言提供的原生数据类型,如:int/char/double/指针等,自定义类型就是我们使用class/struct等关键字自己定义的类型。
2025-01-18 21:37:32
952
C++后端开发书籍推荐
2024-04-13
C++后端学习的技术栈
2024-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅