自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(114)
  • 收藏
  • 关注

原创 华为笔试0429

拼尽全力还是个废物。。。

2026-05-01 15:52:21 202

原创 Leetcode刷题——动态规划练习(0-1背包系列)

有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。

2026-04-07 14:51:46 360

原创 LeetCode刷题——15.动态规划模式

动态规划(DP)涉及将问题,并使用的方法解决它们。对于具有重叠子问题和最优子结构的问题使用此模式。动态规划的核心是注意:有些问题(如 01 背包)需要逆序遍历容量以避免重复选择。

2026-04-07 13:44:04 392

原创 AI大模型RAG与Agent开发学习

智能体(Agent) 是一种能够自主规划、决策、执行任务的组件,核心是让大语言模型(LLM)根据任务需求,选择并调用工具,完成单靠模型自身无法解决的复杂问题。需求 -> 规划 -> 选择工具(提供行动力) (整个流程中,会保存记忆)核心特点:Agent的作用——例子与chain对比:Agent智能体=大语言模型(大脑)+工具集(手脚)+决策逻辑(思维),是让LLM从"只会回答"升级为"会做事(影响现实世界)"的智能助手。核心功能:工具调用比如设计一个天气查询工具,让大模型有回答天气的能力。基于外部工

2026-03-30 22:06:58 376

原创 AI大模型RAG与Agent开发学习

本次项目以"某东商品衣服"为例,以衣服属性构建本地知识。使用者可以本地知识,用户问题的答案也是生成的。

2026-03-30 20:46:00 333

原创 Leetcode刷题——回溯

每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。输出:[[0,1],[1,0]]

2026-03-25 20:17:05 364

原创 Leetcode刷题——矩阵遍历

矩阵遍历涉及使用不同技术(DFS、BFS等)遍历矩阵中的元素。在处理涉及水平、垂直或对角线遍历二维网格或矩阵的问题时使用此模式。最常用就是4个方向:要么修改原矩阵(把走过的设为0)、要么用visited矩阵。

2026-03-24 17:05:01 390

原创 Leetcode刷题——广度优先搜索(BFS)

广度优先搜索(BFS)是一种遍历技术,按层级遍历树或图中的节点时使用此模式。

2026-03-24 14:24:16 390

原创 蚂蚁暑期 319 笔试

机器学习的题目 本质都是。

2026-03-21 17:25:11 52

原创 Leetcode刷题——深度优先搜索(DFS)

深度优先搜索(DFS)是一种遍历技术,探索尽可能远的分支然后回溯。在图或树中探索所有路径或分支时使用此模式。核心逻辑:一条路走到黑,走不通再回头递归本质:用系统栈保存遍历状态,深入到最深的分支后,回溯到上一层,继续探索其他分支。

2026-03-20 20:11:08 354

原创 Leetcode刷题——10.二叉树遍历

二叉树遍历涉及以特定顺序访问二叉树中的所有节点。【记录路径】,核心思想:回溯法(深度优先搜索 + 路径回退)

2026-03-19 11:13:16 324

原创 AI大模型RAG与Agent开发学习

LLM的知识不是实时的,模型训练好后不具备自动更新知识的能力,会导致部分信息滞后LLM领域知识是缺乏的,大模型的知识来源于训练数据,这些数据主要来自公开的互联网和开源数据集,无法覆盖特定领域或高度专业化的内部知识幻觉问题,LLM有时会在回答中生成看似合理但实际上是错误的信息数据安全性RAG(Petrieval-Augment Generation) 即检索增强生成,为大模型提供了从特定数据源检索到的信息,以此来修正和补充生成的答案。可以总结为一个公式:RAG = 检索技术 + LLM提示。

2026-03-18 21:36:24 447

原创 Leetcode刷题——修改的二分搜索

修改的二分搜索模式将二分搜索适应于更广泛的问题,例如在旋转排序数组中查找元素。对于的需要查找特定元素的问题使用此模式。旋转数组核心:是由一个严格升序数组在某个点旋转得到的,例如:原有序数组:[1,2,3,4,5,6,7]旋转后(以索引 3 为轴):[4,5,6,7,1,2,3] —— 数组被分成两个升序的子数组,且左子数组所有元素 > 右子数组的所有元素。解题:左指针left = 0;右指针 right = len(num) - 1;

2026-03-18 14:18:59 371

原创 Leetcode刷题——8.重叠区间

重叠区间模式用于。在按开始时间排序的区间数组中,如果两个区间[a,b]和[c,d]重叠,则b>=c(即,第一个区间的结束时间大于或等于第二个区间的开始时间)。先将所有区间按左端点(start)升序排序,这是处理重叠问题的前提。排序后,我们只需要和已合并列表的最后一个区间比较,就能判断是否重叠。创建一个空列表 merged,用来存放最终合并后的区间。若输入区间列表为空,直接返回空。遍历排序后的每个区间 curr:若 merged 为空,直接将 curr 加入 merged。

2026-03-17 20:58:01 365

原创 Leetcode刷题——前K个元素

示例问题:找出无序数组中的第k个最大元素。优先用小顶堆法(平衡了效率和实现难度,符合面试最优解要求)但实际解题时(比如 Python 用heapq),完全不用手动计算这些索引。python中 使用heapq模块(默认实现小顶堆)解决。

2026-03-16 15:44:24 367

原创 Leetcode刷题——单调栈

单调栈模式。练题4步:步骤 1:确定栈的单调性(核心)步骤 2:确定栈中存储的内容步骤 3:遍历数组,执行 “弹栈→处理→入栈”步骤 4:处理栈中剩余元素(可选)

2026-03-15 15:14:09 385

原创 AI大模型RAG与Agent开发学习

当前金融领域信息化发展的时代,金融数据大量激增,许多投资者和研究者试图通过对这些数据进行深度分析而获得一些有效的决策和帮助,尽可能减少决策失误带来的损失。所以,针对金融数据的分析方法研究是目前十分有益且热门的话题。基于大模型完成:金融文本分类基于大模型完成:金融文本信息抽取基于大模型完成:金融文本匹配大模型选择:Qwen在线大模型(阿里云通义千问)基于 Few-Shot + Zero-Shot 的思想,设计prompt(提示词),进而应用大模型完成相应的任务。

2026-03-15 00:15:03 490

原创 Leetcode刷题——链表就地反转

链表的就地反转模式在。在需要反转链表的部分时使用此模式。

2026-03-14 19:07:39 183

原创 Python 基础学习

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号 : 起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。

2026-03-14 17:39:05 372

原创 AI大模型RAG与Agent开发学习

0penAI库是OpenAI官方推出的Python SDK,,无需手动处理HTTP请求、身份验证等底层细节。由于其发布较早且比较易用,现如今许多模型服务商(如阿里云百炼平台)均兼容0penAI SDK的调用。

2026-03-13 22:30:55 377

原创 Leetcode刷题——快慢指针

快慢指针(乌龟和兔子)模式用于检测。

2026-03-13 20:45:42 310

原创 Leetcode刷题——滑动窗口

滑动窗口模式用于找到满足特定条件的子数组或子字符串,通过维护一个元素窗口来优化时间复杂度。在处理涉及连续子数组或子字符串的问题时使用此模式。主要解决连续子数组 / 子字符串问题,核心是用两个指针(左 / 右)维护一个 “窗口”,通过移动指针动态调整窗口大小,从而在 O (n) 时间复杂度内解决问题(避免暴力枚举的 O (n²))。

2026-03-12 17:07:16 379

原创 AI大模型RAG与Agent开发学习

黑马程序员大模型RAG与Agent智能体项目实战教程,基于主流的LangChain技术从大模型提示词到实战项目大模型开发核心: RAG、Agent —— LangChain提示词优化(开发基础、基础到进阶、写精准提示词、提示词优化)LangChain1.2核心技术学习(核心组件、工作原理、零基础都能懂)RAG实战案例(项目案例、文档处理、向量数据库搭建、向量数据检索匹配)Agent(需求拆解、Agent定义、工具调用、流程控制、实战开发)

2026-03-11 21:57:29 281

原创 Leetcode刷题——双指针

双指针模式涉及使用两个指针遍历数组或列表,常用于找到。在处理排序数组或列表时使用此模式,特别是需要找到满足特定条件的对时。

2026-03-11 19:42:57 374

原创 Python 基础学习

有时候,需要对数据内置的类型进行转换,数据类型的转换,一般情况下只需要即可。以下实例中,我们对两种不同类型的数据进行运算,。整型和字符串类型运算结果会报错,输出TypeError。(无法使用隐式转换)

2026-03-11 17:24:07 377

原创 Python 基础学习

默认情况下,Python3源码文件以 UTF-8编码,所有字符串都是 Unicode字符串。(可为源码文件指定不同编码)

2026-03-10 23:32:28 368

原创 Leetcode刷题——前缀和

前缀和涉及对数组进行预处理,创建一个新数组,其中表示。这使得对子数组进行高效的成为可能。当需要对子数组执行多个时,可以使用这一模式。

2026-03-10 22:45:00 416

原创 Transformer理解与复习

接下来会重复这个过程,直到输出一个结束符,表示Transformer解码器已完成其输出,每一步的输出都会在下一个时间步输入到下面的第一个解码器,解码器像编码器一样将解码结果显示出来,就像是处理编码器输入一样,也为解码器的输入加上位置编码,来指示每个词的位置。因为这些填充的位置,其实是没有什么意义的,所以我们的Attention机制不应该把注意力放在这些位置上,所以我们需要进行一些处理。线性层是一个简单的全连接神经网络,其将解码器栈的输出向量映射到一个更长的向量,这个向量被称为 logits 向量。

2026-03-10 15:05:46 325

原创 LeetCode 热题 100——图论——实现 Trie (前缀树)

Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word。boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false。

2025-12-16 19:17:08 332

原创 LeetCode 热题 100——图论——岛屿数量&腐烂的橘子&课程表

给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [输出:1示例 2:输入:grid = [输出:3提示:grid[i][j] 的值为 ‘0’ 或 ‘1’

2025-12-16 16:52:04 1160

原创 LeetCode 热题 100——二叉树——二叉树中的最大路径和

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和。示例 1:输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6示例 2:输入:root = [-10,9,20,null,null,15,7]输出:42。

2025-12-09 17:31:26 307

原创 LeetCode 热题 100——二叉树——二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3。

2025-12-09 17:13:19 322

原创 LeetCode 热题 100——二叉树——路径总和 III

给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。示例 1:输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8输出:3解释:和等于 8 的路径有 3 条,如图所示。

2025-12-09 16:22:49 307

原创 LeetCode 热题 100——二叉树——从前序与中序遍历序列构造二叉树

给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。

2025-12-09 11:07:38 306

原创 LeetCode 热题 100——二叉树——二叉树展开为链表

给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null。展开后的单链表应该与二叉树 先序遍历 顺序相同。

2025-12-05 15:54:31 327

原创 LeetCode 热题 100——二叉树——二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

2025-12-04 21:26:01 284

原创 LeetCode 热题 100——二叉树——验证二叉搜索树&二叉搜索树中第 K 小的元素

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 严格小于 当前节点的数。节点的右子树只包含 严格大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:root = [2,1,3]输出:true示例 2:输入:root = [5,1,4,null,null,3,6]输出:false解释:根节点的值是 5 ,但是右子节点的值是 4。提示:树中节点数目范围在[1, 104] 内。

2025-12-02 19:32:29 422

原创 LeetCode 热题 100——二叉树——二叉树的层序遍历&将有序数组转换为二叉搜索树

给你二叉树的根节点 root ,返回其节点值的 层序遍历。(即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]提示:树中节点数目在范围 [0, 2000] 内。

2025-12-02 17:02:29 855

原创 LeetCode 热题 100——二叉树——对称二叉树 & 二叉树的直径

给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围 [1, 1000] 内进阶:你可以运用递归和迭代两种方法解决这个问题吗?

2025-12-02 15:08:58 355

原创 LeetCode 热题 100——二叉树——翻转二叉树

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例 2:输入:root = [2,1,3]输出:[2,3,1]示例 3:输入:root = []输出:[]提示:树中节点数目范围在 [0, 100] 内。

2025-12-01 21:15:53 260

空空如也

空空如也

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

TA关注的人

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