找到 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 := level 和 maxDepth 的最大值m[level] 增加节点的值solve(节点的左子节点, level + 1)solve(节点的右子节点, level + 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 以及阈值 thset curr := 0对于 i 在范围 x – ... 阅读更多

C++中移除被覆盖的区间

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

244 次浏览

假设我们有一个区间列表,我们需要移除列表中所有被另一个区间覆盖的区间。这里区间 [a,b) 被区间 [c,d) 覆盖当且仅当 c < a 且 b < d。

C++中组合的迭代器

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

446 次浏览

假设我们需要设计一个迭代器类,它包含以下几个操作:定义一个构造函数,它接收一个排序的、不同的、小写英文字母的字符串 characters 和一个数字 combinationLength 作为参数。定义一个函数 next(),它按字母顺序返回长度为 combinationLength 的下一个组合。定义另一个函数 hasNext(),当且仅当存在下一个组合时返回 True。因此,如果输入如下所示: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。如果 a > b[0],则交换 a 和 b;如果 a 和 b 相交,则调用 manipulate2(ans, t);返回 ans示例 (C++)让我们看看下面的实现,以便更好地理解:实时演示#include using namespace std; void print_vector(vector v){    cout << "["; for (int i = 0; i < v.size(); i++) {        cout << v[i]; if (i < v.size() - 1) cout << ","; }    cout << "]" << endl; }

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.