246 次查看
假设我们有一个值 n。我们必须找到所有长度为 n 的倒置数字。正如我们所知,倒置数字是指当旋转 180 度时外观相同的数字。因此,如果输入为 n = 2,则输出将为 ['11', '69', '88', '96']。要解决此问题,我们将遵循以下步骤:定义一个函数 middle()。它将接收 x如果 x 为 0,则返回一个空字符串列表如果 x 等于 1,则返回一个包含元素 0、1、8 的新列表ret := 一个新列表mid := middle(x − 2)对于每个 m ... 阅读更多
269 次查看
假设我们有一棵二叉树,我们必须检查树中的所有节点是否都具有相同的值。因此,如果输入如下所示,则输出将为 True要解决此问题,我们将遵循以下步骤:定义一个函数 solve()。它将接收根节点和 val如果根节点为空,则返回 True如果 val 未定义,则val := 根节点的值当根节点的值与 val 相同且 solve(根节点的左子节点, val) 和 solve(根节点的右子节点, val) 也为真时返回 true让我们看下面的实现以更好地理解:示例实时演示类 TreeNode: def ... 阅读更多
200 次查看
假设我们有一个数字列表 nums(正数或负数),我们必须检查数组中每个值的出现次数是否唯一。因此,如果输入为 nums = [6, 4, 2, 9, 4, 2, 2, 9, 9, 9],则输出将为 True,因为 6 出现 1 次,4 出现 2 次,2 出现 3 次,9 出现 4 次。因此,所有出现次数都是唯一的。要解决此问题,我们将遵循以下步骤:num_counts := 一个新映射,其中所有值和... 阅读更多
278 次查看
假设我们有一个名为 requested_trips 的矩阵,其中每一行包含 [start_x, end_x, num_passengers],我们还有一个容量值。现在,每次请求的行程都要求在 start_x 接送 num_passengers 位乘客,并在 end_x 下车。我们还有一辆具有给定容量的汽车,并从位置 x = 0 开始。我们希望接送每位乘客,并且只能向右移动,我们必须检查我们是否可以接送所有人。因此,如果输入为 trips = [[1, 25, 2], [3, 4, 3], [5, 12, 3]] ... 阅读更多
95 次查看
假设我们有一个数字列表称为 nums 和另一个值 k,我们必须在 nums 中找到两个不相交的子列表,其和为 k,并且我们必须找到它们的长度之和。当存在两个以上可能的子列表时,我们必须找到两个最小子列表的长度之和。如果我们找不到答案,则返回 -1。因此,如果输入为 nums = [7, 10, -2, -1, 4, 3] k = 7,则输出将为 3,因为我们选择子列表 [7] 和 [4, 3]。我们... 阅读更多
101 次查看
假设我们有两棵二叉树,我们必须检查它们在结构和值方面是否完全相同。我们可以称它们为孪生树。因此,如果输入如下所示,则第一对的输出将为 True,第二对和第三对的输出将为 false,因为第二项和第三项不同,并且结构也不同。要解决此问题,我们将遵循以下步骤:定义一个方法 solve(),它将接收两个根节点如果 root0 为 null 且 root1 为 null,则返回 True如果 root0 为 null 或 root1 为 null,则返回... 阅读更多
183 次查看
假设我们有一个字符串 s,我们必须找到通过修剪 s 的左右两侧可以获得回文的方式的数量。因此,如果输入为 s = "momo",则输出将为 6,因为您可以获得 ["mom", "omo", "o", "o", "m", "m", "o")要解决此问题,我们将遵循以下步骤:定义一个函数 expand()。它将接收 i、j、sc := 0当 i >= 0 且 j < s 的大小且 s[i] 等于 s[j] 时,执行i := i − 1,j := j + 1c := c ... 阅读更多
737 次查看
假设我们有一个数字数组,我们必须找到从数组中选择的三个数字可以构成三角形的数量,如果我们将它们作为三角形的边长。因此,如果输入为 [2, 2, 3, 4],则结果将为 3,因为有三个三元组 [2, 3, 4] 使用第一个 2,[2, 3, 4] 使用第二个 2,以及 [2, 2, 3]。要解决此问题,我们将遵循以下步骤:ret := 0,n := nums 的大小,对 nums 进行排序对于 i 在范围 n − 1 到 0 之间right := i − 1,... 阅读更多
225 次查看
假设我们有一棵二叉树和一个字符串列表 moves,其中包含“R”(右)、“L”(左)和“U”(上)。从根节点开始,我们必须通过执行 moves 中的每个移动来遍历树,其中:“R”表示遍历到右子节点。“L”表示遍历到左子节点。“U”表示遍历到其父节点。因此,如果输入为 ["R", "R", "U", "L"],则输出将为 3要解决此问题,我们将遵循以下步骤:past := 一个新列表对于 moves 中的每个移动,执行将根节点插入 past 的末尾如果 move 等于“L”,则root := 根节点的左子节点... 阅读更多
810 次查看
假设我们有一棵包含一些值的二叉树,我们必须找到树中所有值的和。因此,如果输入如下所示,则输出将为 14要解决此问题,我们将遵循以下步骤:定义一个函数 recurse()。它将接收节点val := 节点的值如果节点的左子节点不为空,则val := val + recurse(节点的左子节点)如果节点的右子节点不为空,则val := val + recurse(节点的右子节点)返回 val从主方法中执行以下操作:如果根节点不为零,则返回 0返回 recurse(root)让我们看下面的实现以更好地理解... 阅读更多