自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常见算法思路汇总【更新版】

创建一个新的空链表,然后用头插法依次把节点 1,2,3 插到这个新链表的头部,就得到了链表 3→2→1,这正是反转后的链表。和合并有序数组一个思路,注意if list1.val<list2.val:后,先 list.next = list1,再list1 = list1.next。遍历 second,1️⃣ 判断重复,2️⃣ third 向左扫描,3️⃣ 判断边界,4️⃣ 得到结果 append。直到 p2<0 ,结束,返回 num1。定义一个哈希表,通过哈希表的数据结构,读取到对应结果的索引,然后返回。

2025-10-13 10:16:06 231

原创 双设备全栈开发最佳实践[mac系统]

最近要做毕设,关于环境和多设备的问题,头疼很久,今天决定利用AI来解决这个顽疾下面是我的提示词,供大家参考:

2026-02-02 20:26:00 774

原创 跳跃游戏系列【贪心算法】

用O(1) 空间模拟了BFS 的层级扩展不关心具体跳哪一步,只关心“最远能到哪”在边界处才决策跳跃,避免过早或过晚这是贪心算法中“延迟决策 + 边界触发”的经典范式。如果你想,我可以对比这道题与BFS 实现版本的差异,或者带你用同样思路解决LeetCode 55(跳跃游戏 I)。需要吗?

2026-01-23 13:47:28 563

原创 链表题解——相交链表【Leetcode】(最新版,核心思路)

来源:LeetCode 160. Intersection of Two Linked Lists(Easy,但后端/系统岗高频)注意:相交指从某个节点开始,两个链表共享后续所有节点(结构上“Y”型合并)。✅ 代码极简、一次遍历、无额外空间,且天然处理了“不相交”情形。假设 A 独有部分长 a,B 独有部分长 b,公共部分长 c。,判断它们是否相交。若相交,返回相交节点;给定两个单链表的头节点。

2026-01-20 19:44:26 356

原创 编辑器中受到git管理的文件,可视化界面文件后面显示U、M等标志是什么意思?

这些视觉标记是 VSCode 与 Git 深度集成的重要体现,让你无需切换终端即可直观掌握项目状态,大幅提升版本控制效率。📌提示:可通过 VSCode 左侧的源代码管理(Source Control)面板查看详细变更,并直接进行暂存、提交、撤销等操作。

2026-01-05 21:56:04 519 1

原创 最长递增子序列

维护一个递增的‘尾巴数组’,每次用新数字要么延长它,要么优化某个位置的尾巴,使其更小——这样未来的增长空间更大。这既是贪心(局部最优),又借助二分(高效查找),是算法设计中的经典范式。代码行作用在已有的“最优末尾”中,找到第一个 ≥ x 的位置说明 x 比所有末尾都大 → 可以延长LIS新增一个更长的长度用 x替换某个长度的末尾,使其更小(贪心优化)代码通过维护一个“各长度下最小末尾”的有序数组tails。

2025-12-16 12:17:03 772

原创 ​从454. 四数相加 II 中学到Counter​

Counter是基于哈希表的字典子类,用于计数。在你的代码中,它存储了所有可能和的出现次数。利用Counter访问不存在键返回 0的特性,使得cnt[-x-y]安全且简洁。整体算法是空间换时间的典型应用,将四重循环降为两个双重循环。

2025-12-14 20:10:54 511

原创 Agent的一些测试策略

一个“带推理能力的自动化系统”在不确定环境中能否持续、稳态地达成目标。传统软件测试自动化流程测试状态机测试安全测试AI 测试分布式系统容错测试。

2025-11-28 10:00:09 757

原创 python实现经典排序算法,附手撕code

【代码】python实现经典排序算法,附手撕code。

2025-11-23 23:19:14 435

原创 谈一谈性能测试中的吞吐量,结合不同行业的深层理解

场景主要吞吐指标关键约束优化重点电商TPS(核心链路)数据一致性、库存锁缓存、异步、限流降级对战游戏MPS / 连接数延迟 < 100ms单核性能、网络优化、状态同步金融交易TPS + 事务完整性ACID、审计合规内存计算、日志优化、高可用视频直播带宽(Gbps)+ RPSCDN 覆盖、存储成本边缘缓存、协议优化(HLS/QUIC)

2025-11-23 16:15:58 778

原创 性能测试指标的介绍【下篇】

从客户端发起请求开始,到接收到完整响应为止所经历的时间。它反映了用户感知的系统“快慢”。单位时间内系统成功处理的请求数或事务数,是衡量系统处理能力的核心指标。失败请求(HTTP 5xx、4xx 业务错误、超时、连接拒绝等)占总请求数的百分比。同时向系统发送请求的虚拟用户数量。并发 ≠ 同时发出请求,而是“处于活跃交互状态”的用户。系统在长时间(通常 ≥ 8 小时)高负载运行下,能否保持性能指标不劣化、无资源泄漏、无服务中断。指标类别关注点工具示例健康阈值参考响应时间P95/P99、波动性吞吐量。

2025-11-23 16:11:17 898

原创 SCP 文件导出指令大全

【代码】SCP 文件导出指令大全。

2025-11-14 14:26:04 256

原创 Python中的 @staticmethod 和 @classmethod 方法

特性是否有self参数否否第一个参数无cls(类对象)能否访问实例属性否否能否访问类属性否✅ 可以典型用途工具函数工厂方法、类状态操作。

2025-11-07 14:41:11 274

原创 静态文件,动态文件,静态网站,动态网站

fastAPI和web开发中,静态文件,动态文件,静态网站,动态网站分别定义是什么,对比分析,并且讲一下实际案例

2025-10-01 17:53:19 595

原创 Union 和 Optional 区别

Union、Optional 的价值主要在 可读性 和 静态类型检查。

2025-09-30 19:51:30 276

原创 关于join的定义(join 和 inner join的区别和疑问)

疑问:join等价于inner join?不用关联条件的join等价于cross join?inner join 在学的时候理解为了交集,然后没有交集就理解为空集,就理解错了很多人学 SQL 时会被绕进去,特别是把JOIN想成“交集”这种数学集合类比,很容易误导。

2025-09-19 11:15:02 558

原创 一个系列搞懂ACM模式常见输入输出格式【数组篇】

空间限制:C/C++ 256M,其他语言512M。空间限制:C/C++ 256M,其他语言512M。空间限制:C/C++ 256M,其他语言512M。空间限制:C/C++ 256M,其他语言512M。输出 行,每行一个整数,代表数组元素之和。输出 行,每行一个整数,代表数组元素之和。时间限制:C/C++ 3秒,其他语言6秒。时间限制:C/C++ 3秒,其他语言6秒。时间限制:C/C++ 3秒,其他语言6秒。时间限制:C/C++ 3秒,其他语言6秒。输出一个整数,代表数组元素之和。},其中 1≦i≦n1≦。

2025-09-15 17:09:28 304

原创 一个系列搞懂ACM模式常见输入输出格式【A+B篇】

空间限制:C/C++ 256M,其他语言512M。空间限制:C/C++ 256M,其他语言512M。空间限制:C/C++ 256M,其他语言512M。空间限制:C/C++ 256M,其他语言512M。空间限制:C/C++ 256M,其他语言512M。时间限制:C/C++ 3秒,其他语言6秒。时间限制:C/C++ 3秒,其他语言6秒。时间限制:C/C++ 3秒,其他语言6秒。时间限制:C/C++ 3秒,其他语言6秒。时间限制:C/C++ 3秒,其他语言6秒。输出若干行,每行一个整数,代表 的值。

2025-09-15 16:18:57 398

原创 ACM模式的输入部分——input().strip() 与 sys.stdin.readline() 的不同

我的疑问:input().strip() 与 sys.stdin.readline() 的不同。

2025-09-15 16:05:47 376

原创 nonlocal 在 python 中是干什么的?如果把 nonlocal 去掉怎么样?如何替代 nonlocal

ans 定义在 diameterOfBinaryTree 的局部作用域里。depth 是一个嵌套函数,它要修改外层的 ans。因此必须用 nonlocal ans 显式声明。

2025-09-01 12:50:08 965

原创 如何解决 pyqt5 程序“长时间运行失效” 问题?

问题类别v2 技术改进作用UI 崩溃 / 卡顿pyqtSignal主线程更新 UI线程安全,避免崩溃卡死点击线程假死,异常捕获保持线程健康运行系统拦截点击PAUSE=0.01避免高频操作热键失效unhook_all保证监听释放和恢复UI 与线程冲突主线程调度,异步安全。

2025-08-23 22:32:46 597

原创 业务测试中日志的应用

日志与协议分析是测试开发的放大镜。日志越完备,定位越精准;日志越贴近玩家视角,复盘与解释就越顺畅。实际测试中,往往不是 bug 是否被发现的问题,而是 bug 是否能被“说清楚、修彻底、复盘准”。这就是高质量日志体系的价值。

2025-08-23 11:33:15 661

原创 一文讲清楚函数中什么时候该写self ?

写在类里面的普通方法,要不要 self 取决于:是否需要用到对象属性。写在函数里面的局部帮手(像案例代码的 reverse),那是函数作用域里的本地函数,根本不在类的规则下,自然不需要 self。

2025-08-22 22:17:36 975

原创 HTTP 请求方法有哪些?

类似 GET,但不返回响应体(只看头部)获取页面、查询数据、静态资源加载。用于建立隧道(HTTPS 请求)用于探测资源是否存在、节省带宽。表单提交、上传文件、登录注册。跨域 CORS 预检请求用到。修改用户昵称、只改一个字段。查询服务器支持哪些请求方法。回显收到的请求(用于调试)更新用户信息、编辑商品等。部分更新资源(局部修改)提交数据创建资源或操作。不常用,部分服务器禁用。典型用于代理服务器场景。更新资源(整体替换)

2025-07-25 21:44:35 443

原创 DNS 协议

根 DNS 服务器(Root DNS Server)是全球域名解析体系(DNS)的。多个物理服务器共享同一个 IP 地址,用户自动访问最近的节点。本地 DNS 自己问:“根在哪?” → “TLD在哪?浏览器告诉运营商 DNS:“帮我查这个域名的 IP”本地 DNS 逐级向根、TLD、权威 DNS 询问。,它不负责具体域名的解析,但。,根服务器告诉你:“去找。本地 DNS 帮你全部查完。

2025-07-25 21:43:03 292

原创 OSI 七层模型和五层模型

由国际标准化组织(ISO)提出。将网络通信分为 7 层,每层只关注自身职责并为上下层服务,✅ 五层模型强调的是“可实现”,与实际网络协议的分层更加一致。为了简化 OSI 七层模型,实际工程中常用的是。,合并了部分功能,更贴合互联网实际协议栈。表示层 (Presentation)应用层 (Application)传输层 (Transport)物理层 (Physical)数据编码、加密、解码、压缩。会话层 (Session)网络层 (Network)物理寻址、帧传输、差错检测。建立、管理、终止会话连接。

2025-07-25 21:40:38 571

原创 一个正常的http请求在不传cookie时,可能会返回什么?状态码是?

不传 Cookie 的请求,最常见的是 401(未登录),也可能是 403(权限限制),当然也可能是 200(如果接口是公开资源)。是否返回错误要看接口是否强依赖身份认证。

2025-07-24 20:46:38 573

原创 临时重定向作用,一般什么情况下使用

临时重定向是一种客户端请求被暂时重定向到其他 URL 的机制,常用的 HTTP 状态码有:状态码名称含义简述302Found(原为Moved Temporarily)暂时重定向到另一个 URL,客户端应继续使用原 URL 发请求307更严格的临时重定向,不允许更改请求方法。

2025-07-24 20:45:59 459

原创 平时遇到的错误码及场景?404?400?502?都是什么场景下什么含义,该怎么做 ?

也遇到 502,是因为换包环境配置错了网关路径,后端服务未注册到网关。Bad Gateway:网关错误(如 Nginx 接上游服务失败)Internal Server Error:服务器内部错误。在实习过程中,比如我曾遇到 400 错误,是因为请求中。Method Not Allowed:方法不允许。Too Many Requests:请求过多。Request Timeout:请求超时。Gateway Timeout:网关超时。Bad Request:请求格式有误。Not Found:资源不存在。

2025-07-24 20:44:47 2327

原创 Python 变量赋值与切片语法(in-place 修改 vs 重新赋值)

写法是否修改原列表是否保留引用地址用途✅ 是(就地修改)✅ 是改变传入列表的内容❌ 否(创建新列表)❌ 否创建新的副本或重新赋值变量。

2025-07-21 20:12:34 446

原创 数组题解——合并两个有序数组【LeetCode】

如果允许使用额外空间,可以使用双指针方法。如果需要优化空间复杂度,可以使用从后向前填充的方法。

2025-07-19 16:52:08 709

原创 接口测试中 requests 工具的使用总结【接口测试】

requests是 Python 中使用最广泛的 HTTP 请求库之一,其设计简单优雅,特别适合接口测试与接口自动化脚本编写。

2025-07-19 16:49:14 859

原创 多维动态规划题解——最长公共子序列【LeetCode】空间优化:两个数组(滚动数组)

基础解法请参考之前的一篇文章:多维动态规划题解——最长公共子序列【LeetCode】记忆化搜索&&翻译成递推-CSDN博客下面我们详细讲讲如何进行空间优化的,具体的优化技巧是什么

2025-07-17 19:56:21 365

原创 多维动态规划题解——最长公共子序列【LeetCode】记忆化搜索&&翻译成递推

定义dfs(i, j)在和中的最长公共子序列的长度。维度内容✅ 思路逻辑定义 dfs(i, j):text1[0..i] 与 text2[0..j] 的 LCS 长度✅ 状态转移相等则 +1,否者取左/上两种子问题最大值✅ 技巧递归 + 记忆化(Top-down DP)✅ 时间复杂度O(n * m)✅ 空间复杂度O(n * m)定义二维数组ff[i][j]表示与的最长公共子序列长度。注意这里的偏移:我们实际比较的是字符串的前i和前j个字符,但f。

2025-07-17 19:45:36 1124

原创 接口测试概述【接口测试】

接口测试的核心目的,就是根据接口的技术文档或协议说明,设计测试用例并使用工具直接向接口发送请求,再验证返回的响应是否符合预期。虽然测试多数面向服务端,但在某些场景下客户端也可以成为被测对象,关键在于你要验证的是哪一方的逻辑与响应。目前,大部分接口交互基于 HTTP 协议:客户端发起请求,服务器返回响应。这种结构使得 API 测试很像调用某种“远程函数”,因此也被形象地称作 Web API 测试。

2025-07-17 10:24:04 896

原创 关于接口测试的HTTP基础【接口测试】

接口测试中最常用的通讯协议就是 HTTP(Hypertext Transfer Protocol),本节旨在帮助理解 HTTP 协议的结构、工作流程以及如何用于接口测试。

2025-07-17 10:18:43 684

原创 动态规划题解——分割等和子集【LeetCode】

我们目标是找到一个子集,使得其和为。dfs(i, j) 表示:是否可以从 nums[0..i] 中选出一些数,使得它们的和为 j维度内容✅ 思路逻辑转化为是否可以从数组中选出若干数,使它们的和为总和的一半✅ 核心技巧记忆化搜索 + 状态定义dfs(i, j)✅ 时间复杂度O(n × s//2),即 O(n × sum/2)✅ 空间复杂度O(n × sum/2),包括递归栈和缓存。

2025-07-17 00:04:11 644

原创 动态规划题解_打家劫舍【LeetCode】

f0表示「不偷当前这家时的最大收益」;f1表示「偷当前这家时的最大收益」。随着遍历每一间房,我们动态更新这两个变量。维度内容✅ 思路逻辑每间房子选择“偷”或“不偷”,根据前一个状态递推最大金额✅ 核心技巧动态规划 + 状态滚动优化(用 f0, f1 代替 dp 数组)✅ 时间复杂度O(n)✅ 空间复杂度O(1)

2025-07-16 23:09:25 1189

原创 多维动态规划题解——最小路径和【LeetCode】空间优化一维数组

✅ 核心思想:二维动态规划的空间优化每个格子只依赖它左边和上边的状态,因此一行一行滚动更新就足够;使用一维数组 f 来记录当前行的最小路径和,循环内覆盖更新;边界偏移技巧使得代码无需特判第一行第一列。

2025-07-16 20:42:59 333

原创 多维动态规划题解——最小路径和【LeetCode】记忆化搜索&&翻译为递推写法

❓ 问题描述:给定一个 m x n 的网格 grid,每个格子有一个非负整数,表示从左上角 (0,0) 走到右下角 (m-1,n-1) 的路径,求路径上的最小路径和(只能向右或向下走)。

2025-07-16 20:38:39 1106

空空如也

空空如也

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

TA关注的人

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