给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
如获取某个机构ID和它所有的下级,且以链路的形式显示 机构ID: a>b>c>d 机构名称:机构1>机构2>机构3>机构4
当然,我们也可以使用后序方式修改数值,此时因为数值是最后回溯的时候才修改的,所以不需要关心递归下去的递归层会拿不到原来 [sr, sc] 的数值,所以我们只...
五位运动员(A、B、C、D、E)参加了10米台跳水比赛。比赛结束后,他们各自对比赛结果做出了预测:
返回在四个方向(上、下、左、右)上行走时,从起始方格到结束方格的不同路径的数目 。
你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄...
在 ten_to_else 函数中,我们使用了递归来完成十进制到其他进制的转换。虽然递归简单易懂,但它可能导致栈溢出,特别是在处理较大数值时。因此,使用循环来代...
完成了顺序结构二叉树的代码实现,可以知道其底层结构是类似顺序表的结构; 因此,链式结构的二叉树类似于链表结构。
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
首先这道题如果是暴力搜索加上判断合法性的时候使用暴力检查的话,那么也是可以的话,所谓的暴力检查就是选了这个数字后,去遍历它所在的行、列、九宫格是否存在相同元...
总的时间复杂度是 O(1),因为所有的计算都是基于输入红色和蓝色球的数量进行简单的数学运算,而没有任何循环或递归操作。
众所周知~递归函数需要有明确的终止条件,否则会导致无限递归,导致内存砰的一下满了。为了避免这种惨状发生,我们需要一个结束递归的条件,也就是终止交换操作的条件:
但其实我们并 不需要进行同行的判断,因为在单层搜索的过程中,每一层递归,只会选 for 循环(也就是同一行)里的一个元素,所以不用行去重了。除此之外,对于就...
由于堆栈具有后进先出的特性,使得它成为程序设计的重要工具。程序中的函数调用、递归调用都需要利用堆栈来实现。下面简要说明字符逆序输出、进制转换,以及括号匹配问题。
对于递归函数出口,我们只需要判断一下 path 数组的长度,是不是等于题目给的 nums 的长度,是的话说明当前序列已经是完成的了,则添加到 ret 结果集...
直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新...
此外,我们也可以做个剪枝操作,因为拿到第 k 个节点之后,后面的遍历就无意义了,所以我们只需要在递归函数出口添加一个判断,判断如果 count 为零的话,说...
首先讲讲为什么要去实现非递归的遍历呢,因为递归的缺陷就是空间问题,栈溢出是有可能存在的情况,所以我们必须尝试着去迭代遍历!
在遍历期间要注意的是我们可以不需要在递归函数开头给出递归函数的出口,因为题目节点个数是大于零的,所以保证一开始是不会访问空指针的,我们只需要在递归左右子树之...