找到 34423 篇文章 相关编程

C++ 中两棵二叉搜索树的所有元素

Arnab Chakraborty
更新于 2020年4月30日 11:22:51

196 次浏览

假设我们有两棵二叉搜索树,我们需要返回一个包含这些树中所有元素的列表,并且列表元素按升序排列。如果树如下所示 - 那么输出将为 [0, 1, 1, 2, 3, 4]。为了解决这个问题,我们将遵循以下步骤 - 定义一个名为 ans 的数组,定义两个栈 st1 和 st2curr1 := root1 和 curr2 := root2将根节点 root1 和所有左节点插入 st1,将根节点 root2 和所有左节点插入 st2当 st1 或 st2 不为空时如果 st1 ... 阅读更多

C++ 中最深叶节点的和

Arnab Chakraborty
更新于 2020年4月30日 11:13:24

188 次浏览

假设我们有一棵二叉树,我们需要找到其最深叶节点的值之和。如果树如下所示 - 那么输出将为 15。为了解决这个问题,我们将遵循以下步骤 - 定义一个映射 m 和 maxDepth定义一个递归方法 solve(),它将接收节点和层级,初始层级为 0如果节点不存在,则返回maxDepth := 层级和 maxDepth 的最大值将 m[level] 增加节点的值solve(节点的左子节点, 层级 + 1)solve(节点的右子节点, 层级 + 1)在主方法中,设置 maxDepth := 0,然后 solve(root, 0)返回 m[maxDepth]示例(C++)让我们看看以下实现... 阅读更多

C++ 中子字符串出现次数的最大值

Arnab Chakraborty
更新于 2020年4月30日 11:08:37

489 次浏览

假设我们有一个字符串 s,我们需要找到满足以下规则的任何子字符串出现的最大次数 - 子字符串中不同字符的个数必须小于或等于 maxLetters。子字符串的大小必须在 minSize 和 maxSize(包括)范围内。因此,如果输入如下 - “aababcaab”,maxLetters = 2,minSize = 3 和 maxSize = 4,则输出将为 2。子字符串“aab”在原始字符串中出现 2 次。这满足条件,2 个唯一字母和大小为 3(在 minSize 和 maxSize 之间)。为了解决这个问题,我们将... 阅读更多

C++ 中和小于或等于阈值的正方形的最大边长

Arnab Chakraborty
更新于 2020年4月30日 10:59:54

165 次浏览

假设我们有一个 m x n 矩阵 mat 和一个整数阈值。我们需要找到和小于或等于给定阈值的正方形的最大边长,如果不存在这样的正方形,则返回 0。因此,如果输入如下 - 113243211324321132432113243211324321132432并且阈值为 4,则输出将为 2,因为有两个边长为 2 的正方形,所以最大值为 2为了解决这个问题,我们将遵循以下步骤 - 定义一个名为 ok 的方法,它将接收 x 和矩阵 m 以及阈值 th设置 curr := 0对于 i 范围内的 x – ... 阅读更多

C++ 中移除覆盖的区间

Arnab Chakraborty
更新于 2020年4月30日 10:51:38

244 次浏览

假设我们有一个区间列表,我们需要移除列表中所有被另一个区间覆盖的区间。这里区间 [a,b) 被区间 [c,d) 覆盖当且仅当 c < a 且 b < d。例如,如果输入为 [[1,4],[3,6],[2,8]],则输出将为 [[3,6]]。因为 [1,4] 被 [2,8] 覆盖,[3,6] 没有被覆盖,[2,8] 没有被覆盖,但 [1,4] 被 [2,8] 覆盖,所以我们应该移除 [1,4]。为了解决这个问题,我们将... 阅读更多

C++ 中组合的迭代器

Arnab Chakraborty
更新于 2020年4月30日 10:49:00

446 次浏览

假设我们需要设计一个迭代器类,它包含一些操作 - 定义一个构造函数,它将一个排序的不同小写英文字母的字符串 characters 和一个数字 combinationLength 作为参数。定义一个函数 next(),它按字母顺序返回长度为 combinationLength 的下一个组合。定义另一个函数 hasNext(),如果存在下一个组合,则返回 True,否则返回 False。因此,如果输入如下 - CombinationIterator iterator = new CombinationIterator("xyz", 2); iterator.next(); // 返回“xy” iterator.hasNext(); // 返回 true iterator.next(); // 返回“xz” iterator.hasNext(); // 返回 true iterator.next(); // 返回“yz” iterator.hasNext(); // 返回 false为了解决这个问题,我们将... 阅读更多

C++ 中删除树节点

Arnab Chakraborty
更新于 2020年4月30日 09:50:17

210 次浏览

假设我们有一棵树,这棵树的根节点为节点 0,如下所示 - 节点数为 nodes第 i 个节点的值为 value[i]第 i 个节点的父节点为 parent[i]我们需要移除每个节点值之和为 0 的子树,在此之后返回树中剩余的节点数。如果树如下所示 - 有 7 个节点,输出将为 2为了解决这个问题,我们将遵循以下步骤 - 创建一个名为 children 的映射定义一个名为 dfs() 的方法,它将接收节点、一个数组 value 和图temp := 一对... 阅读更多

C++ 中移除区间

Arnab Chakraborty
更新于 2020年4月30日 09:47:27

228 次浏览

假设我们有一个排序的不相交区间列表,每个区间 intervals[i] = [a, b] 表示一组数字 x,使得 a ≤ x < b。我们需要移除区间 intervals 中的所有区间,以便剩余的区间不重叠。如果 a > b[0],则交换 a 和 b如果 a 和 b 相交,则调用 manipulate2(ans, t)返回 ans示例(C++)让我们看看以下实现以更好地理解 -  现场演示#include using namespace std; void print_vector(vector v){    cout

C++ 中统计优质子数组的个数

Arnab Chakraborty
更新于 2020年4月30日 09:43:00

793 次浏览

假设我们有一个整数数组 nums 和一个整数 k。如果一个子数组中包含 k 个奇数,则称该子数组为优质子数组。我们需要找到优质子数组的数量。因此,如果数组为 [1, 1, 2, 1, 1],并且 k = 3,则输出将为 2,因为子数组为 [1, 1, 2, 1] 和 [1, 2, 1, 1]为了解决这个问题,我们将遵循以下步骤 - ans := 0,n := nums 数组的大小left := 0 和 right := 0,以及 count := 0定义一个数组 odd,填充此... 阅读更多

C++ 中使字符串相等所需的最小交换次数

Arnab Chakraborty
更新于 2020年4月30日 09:40:37

445 次浏览

假设我们有两个长度相等的字符串 s1 和 s2,它们仅由字母“x”和“y”组成。我们的任务是使这两个字符串彼此相等。我们可以交换属于不同字符串的任意两个字符,这意味着 - 交换 s1[i] 和 s2[j]。我们需要找到使 s1 和 s2 相等所需的最小交换次数,或者如果不可能这样做,则返回 -1。因此,如果字符串为 s1 = “xy” 和 s2 = “yx”,则输出将为 2。如果我们交换 s1[0] 和 s2[0],s1 = ... 阅读更多

广告

© . All rights reserved.