212 次浏览
假设我们有一个二进制二维数组网格,这里一个岛屿是由 1(陆地)组成的、四个方向(水平或垂直)连接的群组。我们可以假设网格的四个边缘都被水包围。我们必须计算不同岛屿的数量。当一个岛屿可以通过平移(而不是旋转或反射)与另一个岛屿相等时,这两个岛屿被认为是相同的。因此,如果输入如下:11011100000000111011,则输出将为 3。为了解决这个问题,我们将遵循以下步骤:定义一个函数 dfs(),它将接收 x、y、grid、temp、c,如果 x……阅读更多
274 次浏览
假设我们有一个以“HH:MM”格式表示的时间,我们必须通过重用当前数字来生成下一个最接近的时间。我们可以无限次使用该数字。因此,如果输入为“19:34”,则输出将为“19:39”,因为从数字 1、9、3、4 中选择下一个最接近的时间是 19:39。它不是 19:33,因为这发生在 23 小时 59 分钟之后。为了解决这个问题,我们将遵循以下步骤:定义一个函数 eval(),它将接收 x,a := 将 x[0] 转换为字符串 a := a + x[1] b := 将……阅读更多
237 次浏览
假设我们有一组整数,它表示深度小于 5 的二叉树。如果树的深度小于 5,则该树可以用一组三位整数来表示。对于此列表中的每个整数:百位数字表示该节点的深度 D,1
370 次浏览
假设我们有一个包含 n 个节点的二叉树,我们的任务是检查是否可以将树划分为两棵具有相等值和的树,方法是在原始树上删除一条边。因此,如果输入如下所示,则输出为 true。为了解决这个问题,我们将遵循以下步骤:定义一个栈 st 定义一个函数 solve(),它将接收节点,如果节点为空,则:返回 0 leftSum := solve(节点的左子节点) rightSum := solve(节点的右子节点) curr := 节点的 val + leftSum + rightSum 将 curr 插入 st 返回 curr 从主方法中执行……阅读更多
874 次浏览
假设我们将尝试使用键盘编写字母“A”。我们的目标是只使用四个键来尝试在文本字段中编写最大数量的“A”。这些键是“A”、“C”、“V”和“Ctrl”。为了编写最大数量的 A,我们将使用 Ctrl + A 来全选,Ctrl + C 来复制,以及 Ctrl + V 来粘贴。因此,如果输入是击键数为 7,则输出为 9,因为按了三次 A。然后是 Ctrl+A、Ctrl+C、Ctrl+V、Ctrl+V。为了解决这个问题,我们将遵循以下步骤:如果 keyStrokes……阅读更多
322 次浏览
假设我们有一些日志,每个日志包含一个唯一的 ID 和时间戳。时间戳是一个字符串,其格式为:年:月:日:时:分:秒,例如,2019:01:01:23:59:59。所有域都是用零填充的十进制数。我们必须设计一个日志存储系统来实现以下功能:void Put(int id, string timestamp):这将接收日志的唯一 ID 和时间戳,并将日志存储在存储系统中。int[] Retrieve(String start, String end, String granularity):这将返回时间戳在 start 到 end 参数范围内的日志的 ID。granularity 参数指示时间级别……阅读更多
291 次浏览
假设我们有一个包含从 1 到 n 的 n 个数字的数组,按递增顺序排列,我们必须找到它可以生成的错位排列的数量。我们知道,在组合数学中,错位排列是集合元素的排列,使得没有元素出现在其原始位置。答案可能非常大,因此返回输出模 10^9 + 7。因此,如果输入为 3,则输出为 2,因为原始数组为 [1, 2, 3]。两个错位排列为 [2, 3, 1] 和 [3, 1, 2]。为了解决这个问题,……阅读更多
101 次浏览
假设我们有一个正整数 x,我们必须找到一个最小的正整数 b,其每个数字的乘积等于 x。如果没有这样的答案,则返回 0。因此,如果输入为 48,则输出为 68。为了解决这个问题,我们将遵循以下步骤:ret := 0,mul := 1 如果 a < 2,则:返回 a 对于初始化 i := 9,当 i >= 2 时,更新(i 减 1),执行:当 a mod i 等于 0 时,执行:ret := i * mul + ret mul := mul * 10 a := a /……阅读更多
2K+ 次浏览
假设我们有一个字符串 s 和一个名为 dict 的字符串列表,我们必须添加一对闭合的粗体标签,以包装存在于该 dict 中的 s 中的子字符串。当两个这样的子字符串重叠时,我们必须只用一对闭合的粗体标签将它们一起包装。此外,如果两个用粗体标签包装的子字符串是连续的,我们需要将它们组合起来。因此,如果输入类似于 s = "abcxyz123" dict 为 ["abc", "123"],则输出将为 "abcxyz123"。为了解决这个问题,我们将遵循以下步骤:n :=……阅读更多
假设我们有 n 个进程,这里每个进程都有一个唯一的 ID,称为 PID 或进程 ID,并且还有其 PPID(父进程 ID)。每个进程只有一个父进程,但可能有一个或多个子进程。这就像一个树结构。只有一个进程的 PPID = 0,这意味着该进程没有父进程。所有 PID 都是唯一的正整数。我们将使用两个整数列表来表示进程列表,其中第一个列表包含每个进程的 PID,第二个列表包含相应的 PPID。所以,……阅读更多