- 博客(95)
- 收藏
- 关注
原创 [牛客算法]二叉树的后续遍历
给定一个二叉树,返回他的后序遍历的序列。后序遍历是指按照的顺序的遍历。数据范围:二叉树的节点数量满足 1≤n≤100 ,二叉树节点的值满足 1≤val≤100 ,树的各节点的值各不相同。输入: {1,#,2,3}返回值:[3,2,1]输入:{1}返回值:[1]
2025-06-03 22:11:18
312
原创 [牛客算法][二分查找]寻找峰值
给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。1.峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于2.假设 nums[-1] = nums[n] = −∞−∞3.对于所有有效的 i 都有 nums[i]!4.你可以使用O(logN)的时间复杂度实现此问题吗?
2025-05-31 16:22:54
912
原创 [牛客算法]旋转数组中的最小数字
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。数据范围:1≤n≤10000 ,数组中任意元素的值: 0≤val≤10000要求:空间复杂度:O(1) ,时间复杂度:O(logn)输入:[3,4,5,1,2]返回值: 1输入:[3,100,200,3]返回值:3。
2025-05-31 15:29:57
840
原创 [牛客网]游游的you 算法题
游游现在有a个'y',b个'o',c个'u',他想用这些字母拼成一个字符串。三个相邻的字母是"you"可以获得2分,两个相邻的字母是"oo",可以获得1分。问最多可以获得多少分?第一行一个整数qqq,代表询问次数。接下来qqq行,每行三个正整数a,b,ca,b,ca,b,c,用空格隔开。1≤q≤1≤a,b,c≤输出qqq行,代表每次询问的答案。31 1 12 3 21 5 2245第一次询问,可以拼出"you",获得2分。
2025-05-30 20:38:28
556
原创 12.详解软件测试生命周期
是**软件开发生命周期(SDLC)**的核心组成部分,它定义了从测试需求分析到测试结束的完整流程,目的是确保软件质量并高效发现缺陷。
2025-05-30 19:10:15
521
原创 [面试题]软件测试相关面试题01
数据和数据库完整性测试;安全性和访问控制测试;故障转移和恢复测试;自顶向下集成:适应于产品控制结构比较清晰和稳定;产品控制组件具有较大的技术风险,需要尽早被验证;自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。自底向上集成:适应于底层接口比较稳定;缺点:桩和驱动工作量较大;有些接口测试不充分;自底向上的单元测试策略:比较合理的单元测试策略,但测试周期较长。优点:具有较高的并行度;大爆炸集成:适应于一个维护型项目或被测试系统较小。孤立单元测试策略:最好的单元测试策略。
2025-05-30 18:43:42
426
原创 10.缺陷优先级等级划分
摘要: 缺陷优先级(Priority)用于评估修复紧急程度,分为四类:**紧急(P0)**需24小时内解决(如系统崩溃);**高(P1)**影响核心功能(如注册逻辑错误);**中(P2)**计划性修复非关键问题(如界面优化);**低(P3)**可暂缓(如拼写错误)。优先级与严重程度(Severity)不同,前者基于业务影响,后者基于技术影响。划分标准包括用户影响、业务风险等。合理分级能优化资源分配,确保关键问题优先处理。(150字)
2025-05-30 18:19:45
269
原创 09.一份完整的测试用例需要涵盖哪些信息?
一个完整的测试用例(Test Case)通常包含以下核心内容,目的是清晰地描述和(Module)REQ-123test_userTest@123。
2025-05-30 18:15:33
677
原创 08. 如何区分上层测试与底层测试?
软件测试中的底层测试和上层测试分别关注不同层级。底层测试聚焦代码细节,包括单元测试和集成测试,用于验证模块逻辑和接口交互,主要由开发者执行。上层测试如系统测试和端到端测试,则从用户角度验证整体业务流程,由测试团队完成。两者互补,遵循测试金字塔模型,底层测试占比更大以确保代码质量,上层测试覆盖关键场景。合理平衡二者比例是高效缺陷发现的关键。
2025-05-30 17:55:44
356
原创 06. 白盒测试常用方法汇总
本文汇总了白盒测试常用的9种方法,希望对进一步了解白盒测试有所帮助。白盒测试通过代码级深入分析,确保逻辑正确性和健壮性。
2025-05-30 17:32:46
449
原创 05. 一文讲透黑盒测试和白盒测试
将软件视为一个“黑盒”,测试人员无需了解内部代码结构或实现逻辑,仅通过输入和输出来验证功能是否符合需求。"黑盒"着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试.今天我们来详细聊一聊测试中经常提到的黑盒测试和白盒测试,看看他们各自有什么特点,又有何异同。将软件视为“透明盒”,测试人员需要了解内部代码结构和逻辑,通过覆盖代码路径、分支等进行测试。通过结合黑盒和白盒测试,可以更全面地保障软件质量。
2025-05-30 17:17:42
696
原创 04.详解单元测试、集成测试、系统测试、验收测试、回归测试?
单元测试关注代码单元,集成测试检查模块交互,系统测试验证整体,验收测试确认业务匹配,回归测试保障稳定性。
2025-05-30 15:28:17
564
原创 03.常见软件测试类型有哪些?
选择测试类型需结合项目需求、资源及风险。例如,金融系统需侧重安全和性能测试,而移动应用可能更关注兼容性与用户体验。合理的测试策略能有效提升软件质量并降低风险。软件测试类型多种多样,通常根据测试目的、方法或阶段进行分类。
2025-05-30 15:14:52
242
原创 02. 通用的测试流程
本文概述了软件测试的标准流程,从需求分析到上线后的总结改进。主要步骤包括:需求目标确认、测试计划制定、用例设计、环境搭建、缺陷管理与回归测试、测试报告输出、上线监控及复盘优化。流程强调风险管理、自动化工具选择和在敏捷开发中的灵活应用,通过各环节的质量把控确保软件产品可靠性。关键点在于测试覆盖的完整性、缺陷闭环管理和持续的过程优化。
2025-05-30 13:27:27
344
原创 01.软件测试研发人员需要掌握哪些基本知识
软件测试研发人员需掌握全面的知识体系,包括测试理论、编程能力、系统网络知识、业务领域和安全测试等核心技术。重点涵盖自动化测试框架(如Selenium)、性能工具(如JMeter)、缺陷管理和持续集成流程。同时需具备开发思维、协作能力和问题分析等软技能,并持续学习云原生、AI测试等新兴技术。建议从基础到专项逐步深入,平衡技术广度与专业深度。
2025-05-30 13:23:42
856
原创 计算机网络 - 关于IP相关计算题
问题描述:如果一个主机的IP地址是192.168.5.121,子网掩码是255.255.255.248, 则该主机网络号是什么?
2025-05-28 22:45:35
1040
原创 8种常见数据结构及其特点简介
数据结构插入/删除时间复杂度查询时间复杂度典型用途数组O(n)O(1)快速随机访问链表O(1)O(n)动态数据操作栈/队列O(1)O(1)受限顺序操作哈希表O(1)O(1)高效键值存储堆O(logn)O(1)极值优先处理。
2025-05-28 19:29:44
803
原创 数据结构简介
在计算机科学中,数据结构是一种的格式。它是相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术相关。数据结构的是和以及。它包含三个方面的内容:即数,只有这三个方面的内容完全相同,才能成为完全相同的数据结构。
2025-05-28 18:03:16
556
原创 数据结构 -- 树相关面试题
结构编号 图形表示1 A → B → C(全左单支)2 A → B ←→ C(B 右子节点)3 A 有两个孩子 B 和 C(完整层次)4 A → (右) B → (左) C5 A → (右) B → (右) C(全右单支)🧠。
2025-05-28 16:55:59
1120
原创 数据结构 - 树的遍历
对于二叉树,常用的遍历方式包括:先序遍历、中序遍历、后序遍历和层次遍历 。先序遍历的操作过程如下:若二叉树为空,则什么也不做;否则,(1)访问根结点;(2)先序遍历左子树;(3)先序遍历右子树。2、中序遍历(InOrder)中序遍历(InOrder)的操作过程如下:若二叉树为空,则什么也不做;否则,(1)中序遍历左子树;(2)访问根结点;(3)中序遍历右子树。3、后序遍历(PostOrder)后序遍历(PostOrder)的操作过程如下:若二叉树为空,则什么也不做;否则,(1)后序遍历左
2025-05-28 15:35:45
734
原创 数据结构- 10种常见树:二叉树、平衡二叉树、完全二叉树
二叉树(Binary Tree)的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),分别称为左子树和右子树。二叉树是一种递归的数据结构,可以是空树(即没有任何结点),或者是由根结点及其左右子树组成。并且,二叉树的子树有左右之分,其次序不能任意颠倒。二叉排序树(Binary Sort Tree),也称为二叉查找树或二叉搜索树。其或者是一棵空树;或者是具有下列性质的二叉树 [5]:(1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若它的右子树不空,则右子树。
2025-05-28 15:17:16
908
1
原创 经典排序算法 - 合并两个有序的数组
给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。编写一个方法,将B 合并入A并排序。可以通过从后向前合并的方式解决,因为数组A末端有足够的缓冲空间。
2025-05-28 14:23:25
706
原创 分块查找详解
分块查找(Block Search)是一种结合顺序查找与索引查找的算法,适用于数据分块存储且。块3: [18, 28, 32, 10] → 最大值 32。块2: [20, 25, 15] → 最大值 25。块1: [12, 8, 5] → 最大值 12。结构体/类,包含最大值、起始索引和结束索引。结构体/类,包含最大值、起始索引和结束索引。块内无序但块间有序的场景。分块-建立索引-逐层定位。快速精确查找,无范围查询。使用二维数组表示索引表。
2025-05-27 21:37:05
924
原创 经典查找算法合集(上)
顺序查找(又称线性查找)是最基础的查找算法,适用于(如数组、链表)。其原理是:从数据结构的,逐个比较元素与目标值,直到找到匹配项或遍历完所有元素。维度说明O(n)(最坏情况需遍历全部元素)O(1)(仅需常数级别额外空间存储指针)O(1)(目标元素在第一个位置)- 实现简单,无需额外数据结构- 效率低,时间复杂度 O(n)- 适用于无序数据和小规模数据集- 数据量大时性能急剧下降- 无需预处理(如排序)- 不适合频繁查找的场景。
2025-05-27 20:51:46
1304
1
原创 Python 实现桶排序详解
时效率极高,但需权衡空间开销。适用于大规模数据、外部排序及特定场景(如浮点数排序)。实际应用中需结合数据特点调整分桶策略,以平衡时间与空间效率。O(n + k),k为桶数量(若每个桶内用O(n²)排序,则为O(n + n²/k)),通过将数据分配到多个“桶”中,每个桶单独排序后再合并。O(n)(数据均匀分布,每个桶元素数量均衡)O(n + k)(需要额外存储桶和桶内数据)O(n²)(所有数据集中在一个桶内)- 数据范围未知或动态变化。- 外部排序(如大数据)是(若桶内排序稳定)高(合并需额外数组)
2025-05-27 20:07:06
575
原创 php 实现基数排序
计数排序(Counting Sort)是一种非比较的稳定排序算法,适用于整数数据且范围较小的场景。核心思想是通过统计元素出现次数直接确定元素的位置。
2025-05-27 19:48:33
577
原创 经典排序算法合集(下)
堆排序(Heap Sort)是一种基于的,核心思想是。父节点 ≥ 子节点原始数组: [3, 6, 1, 5, 9]建堆 → [9, 6, 3, 1, 5]交换堆顶与末尾 → [5, 6, 3, 1|9]重新调整 → [6,5,3,1 | 9]重复直至有序 → [1, 3, 5, 6, 9]
2025-05-27 18:21:47
707
原创 经典排序算法合集(上)
特性冒泡排序快速排序选择排序归并排序插入排序时间复杂度O(n²)O(n log n)O(n²)O(n log n)O(n²)空间复杂度O(1)O(log n)O(1)O(n)O(1)稳定性✔️❌❌✔️✔️最佳用例小数据大规模数据简单实现大数据需稳定小或有序数据。
2025-05-27 15:18:10
624
原创 03. [Python+Golang+PHP]最接近的三数之和,多种语言实现最优解demo
给你一个长度为n的整数数组nums和 一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。返回这三个数的和。假定每组输入只存在恰好一个解。2与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。0与 target 最接近的和是 0(0 + 0 + 0 = 0)。
2025-05-26 20:56:19
328
原创 02. [Python+Golang+PHP]三数之和,多种语言实现最优解demo
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。
2025-05-26 20:07:37
665
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人