自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 ssh远程连接服务器到vscode上“连接失败”

在Windows搜索框中输入。右键点击“命令提示符”,选择。

2025-09-14 11:20:37 500 1

原创 Linux下目录递归拷贝的单进程实现

利用POSIX API在Linux系统上编写应用程序,仿写cp命令的部分功能,将源文件/目录复制到另外一个文件或复制到另外一个目录。

2025-06-01 21:00:37 693

原创 Linux下目录遍历的实现

在实现基本功能实现的基础上,针对各种特殊情况和边界条件等进行流程的完善与优化,包括。

2025-05-27 23:04:29 676

原创 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

原创 算法入门3——双指针——快乐数

编写一个算法来判断一个数n是不是快乐数。如果n是快乐数就返回true;不是,则返回false。

2025-03-31 01:37:46 322

原创 算法入门2——双指针——复写零

先根据“异地”操作,然后优化成双指针下的“就地”操作。

2025-03-31 01:06:02 328

原创 算法入门1——双指针——移动零

2.遇到非0元素:swap(dest+1,cur);1.遇到0元素:cur ++

2025-03-31 00:13:49 351

原创 Linux系统中用Shell脚本训练(WSL)

创建一个 monitor_cpu.sh 文件在文本编辑器中,输入按住“ctrl + x”退出编辑器,然后 yes 后 enter 保存一下。然后赋予脚本运行权限最后运行脚本如果你不想运行了,记得“ctrl + c”终止终端。

2025-03-07 10:30:01 345

原创 如何调试Linux内核?

通过创建一个最小的根文件系统,并使用QEMU和GDB进行调试。

2025-03-01 21:24:55 1230 1

原创 C++——模版

class 类模版名//类内成员定义。

2025-02-03 11:29:10 266 1

原创 C++——类和对象(下)

注意:初始化列表中按照成员变量在类中声明顺序进行初始化,跟成员在初始化列表出现的先后顺序无关。建议声明顺序和初始化列表顺序保持一致。

2025-01-31 16:39:18 985

原创 C++——类和对象(中)

说明:C++把类型分成内置类型(基本类型)和自定义类型。内置类型就是语言提供的原生数据类型,如:int/char/double/指针等,自定义类型就是我们使用class/struct等关键字自己定义的类型。

2025-01-18 21:37:32 952

C++后端开发书籍推荐

《C++ Primer》 《Effective C++》 《More Effective C++》 《深度探索C++对象模型》 《C++ Concurrency in Action》 《Network Programming with TCP/IP》 《UNIX Network Programming》 《Design Patterns: Elements of Reusable Object-Oriented Software》 《High Performance MySQL》 《Professional C++》 《C++ Standard Library》 《Advanced Linux Programming》 《Pro Git》 《Clean Code: A Handbook of Agile Software Craftsmanship》 《The Art of Readable Code》等等

2024-04-13

C++后端学习的技术栈

C++后端学习技术栈涵盖了开发高效、可扩展、安全的服务器端应用程序所需的一系列技能与工具。其主要组成部分包括: 1.精通C++编程语言:掌握现代语言特性,遵循最佳实践,并严格遵守《Effective C++》、C++核心指南等既定编码规范。 2.深刻理解数据结构、算法与软件设计模式:能据此编写出优化且易于维护的代码,解决复杂问题并提升系统性能。 3.网络编程基础:熟练使用套接字编程、TCP/IP协议、HTTP(S)协议等,构建稳定可靠的网络通信模块。 4.并发与多线程编程:掌握C++并发库(如std::thread、std::async、std::mutex等)以及多线程设计策略,确保在多核处理器环境下实现高效并发处理。 5.数据库操作:熟悉SQL语言,能使用ODBC、JDBC等数据库接口或ORM框架(如SQLite、MySQL、PostgreSQL等)进行数据访问、存储与管理。 6.Web服务开发:了解RESTful API设计原则,能使用Web服务器库(如Poco, Boost.Beast, CppREST SDK等)或微服务框架(如gRPC)开发高性能、跨平台的Web服务。 等等

2024-04-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除