深度优先搜索(Depth-First Search,简称DFS)是一种用于遍历或搜索树或图的算法。在这种算法中,沿着一个分支遍历,直到这个分支的末端,然后回溯并...
在暴力枚举的过程中,我们发现当进行新的一层外循环时,只要还在遇到重复字母的范围内,就会重复遍历相同的子串子集,并且长度是减小的。
前面我们学习C++的string部分,其中的接口,函数都很多,vector相较与string的学习就会轻松很多,接下来我们将一起探索神奇的vector!!!
二叉树是一种数据结构,其中每个节点最多有两个子节点,分别是左子节点和右子节点。二叉树的链式结构表示是使用指针(或引用)来连接节点,形成树形结构。每个节点包含一个...
递归通过函数自我调用将复杂问题分解,其核心思想与深度优先遍历(DFS)“一路到底,再回溯而上”的策略天然契合。DFS作为递归在树与图等数据结构中的经典体现,为我...
接下来,需要找出图中所有的连通分量(即“电网”)。代码采用深度优先搜索(DFS)的方式进行遍历:
2025-12-17:优惠券校验器。用go语言,你有三个等长数组 code、businessLine 和 isActive,分别记录 n 个优惠券的标识符、所属...
2025-12-16:数组的最小稳定性因子。用go语言,给定一个整数数组 nums 和一个整数 maxC。把满足以下条件的连续区间称为“稳定子数组”:区间内所有...
2025-12-15:有向图中到达终点的最少时间。用go语言,给出一个有向图和一个整数 n,图中节点编号为 0 到 n-1。每条边用四元组 edges[i] =...
完成对所有下标 i 的遍历后,结果数组 ans 就已经填充完毕,其中 ans[i] 就是删除第 i 个元素后得到的新数组中所有相邻对的最大LCP长度。最后,将这...
核心逻辑在 dfs 函数中,它采用后序遍历(先处理子节点,再处理当前节点)的方式自底向上地计算和调整路径成本。
2025-12-06:硬币面值还原。用go语言,给出一个从 1 开始索引的整数数组 numWays,其中 numWays[i] 表示用若干种固定面额且每种可重复...
2025-12-05:检查元素频次是否为质数。用go语言,给定一个整数数组 nums,判断数组中是否存在某个数,它在数组中出现的次数是质数。若至少有一个元素的出...
2025-12-03:计数质数间隔平衡子数组。用go语言,给定一个整数数组 nums 和一个整数 k。请计算数组中有多少个连续且非空的子序列满足下面两个条件:
2025-12-02:找到最大三角形面积。用go语言,给出一个大小为 n×2 的二维数组 coords,表示平面上 n 个点的坐标。任务是从这些点中任取三点构成...
2025-12-01:最小相邻交换至奇偶交替。用go语言,给定一个由互不相同的整数组成的数组 nums。允许的操作是把数组中相邻的两个元素互换位置。若一个排列中...
2025-11-30:树中找到带权中位节点。用go语言,给出一个含 n 个节点(编号 0 到 n-1)的带权无向树,树的根定为节点 0。树用长度为 n-1 的数...
2025-11-29:子序列首尾元素的最大乘积。用go语言,给你一个整数数组 nums 和一个正整数 m。你需要从 nums 中按原有相对顺序挑出恰好 m 个元...
2025-11-28:统计特殊三元组。用go语言,给定一个整数数组 nums。我们把满足 i<j<k(索引从 0 开始)且 nums[i] 和 nums[k] ...