找到关于数据结构的1861 篇文章

元素可以通过最大 K 次递增变为相等的子数组的最长长度

Shubham Vora
更新于 2023年8月2日 13:40:21

327 次浏览

在这个问题中,我们将找到最长子数组的长度,以便我们可以通过添加一些正整数的值来使所有子数组元素相同,并且添加到每个元素的数字之和不应超过 K。天真的方法是找到使给定数组的每个子数组中的所有元素都相同的成本。最后,考虑成本小于 K 且长度最大的子数组的长度。但是,我们将使用队列数据结构来有效地解决这个问题。问题陈述 - 我们给出了一个……阅读更多

超图的实现

Shubham Vora
更新于 2023年8月2日 13:38:36

188 次浏览

在本教程中,我们将学习如何在 C++ 中实现超图。定义 - 超图是图的一种特殊版本。其中单个可以连接 2 个或多个顶点。在普通图中,单个边只能连接 2 个顶点,但超图是图的泛化,可用于用单个边连接 2 个以上的顶点。在超图中,边称为超边。我们可以用 H(E, V) 来表示超图,其中 E 是超边,v 是由超边连接的顶点集。我们可以……阅读更多

找到 3 的最大倍数(使用队列)

Shubham Vora
更新于 2023年8月2日 13:31:59

100 次浏览

在这个问题中,我们将使用数组元素找到 3 的最大倍数。天真的方法是生成数组元素的所有可能的组合,并检查它是否能被 3 整除。通过这种方式,跟踪 3 的最大可能倍数。有效的方法是使用三个队列。我们可以使用队列根据除以 3 后的余数存储元素。之后,我们可以从队列中删除一些元素,以从剩余的数组元素中生成 3 的倍数。问题陈述 - 我们给出了一个……阅读更多

使用优先队列查找距原点最近的 K 个点

Shubham Vora
更新于 2023年8月2日 13:29:05

177 次浏览

在这个问题中,我们将从给定的 N 个点中找到二维平面中距原点最近的 K 个点。我们可以使用标准欧几里德距离公式来计算原点与每个给定点之间的距离。之后,我们可以将点与距离存储在数组中,根据距离对数组进行排序,并取前 K 个点。但是,我们也可以使用优先队列根据它们与原点的距离来存储二维点。之后,我们可以对队列进行 K 次出队操作。问题陈述 - ……阅读更多

在每一步中要添加的 N 的素因子的数量,以将 N 转换为 M

Shubham Vora
更新于 2023年8月2日 13:22:47

60 次浏览

在这个问题中,我们将通过在每次操作中将 N 的一个素因子添加到自身并更新它来将数字 N 转换为 M。我们将使用广度优先搜索算法来解决这个问题。我们将找到每个更新的 N 的素因子,并在将其添加到 N 的素因子后将其插入队列。此外,我们将定义函数以找到特定数字的最小素因子。问题陈述 - 我们给出了 N 和 M 整数值。我们需要计算将……阅读更多

删除顺序先于插入顺序的数组元素的数量

Shubham Vora
更新于 2023年8月2日 13:36:59

67 次浏览

在这个问题中,我们将计算在将元素插入数组之前从数组中删除的元素的数量。解决问题的逻辑部分是检查所有数字,其在 remove[] 数组中的位置在其在 insert[] 数组中的位置之前。如果是,我们可以将 remove[] 数组的特定元素计入答案。但是,我们将使用 map 数据结构来提高代码的性能。问题陈述 - 我们给出了一个包含前 N 个整数的 insert[] 和 remove[] 数组。insert[] 数组表示……阅读更多

从其链表表示中构造完整的二叉树

Shubham Vora
更新于 2023年8月2日 13:11:14

493 次浏览

在这个问题中,我们将链表转换为完整的二叉树。我们可以将链表视为数组。链表的第 p 个元素是二叉树的 2*p + 1 和 2*p + 2 元素的父节点。因此,我们可以遍历链表的每个元素并构造二叉树。问题陈述 - 我们给出了一个包含 N 个节点的链表。我们需要从给定的链表构造完整的二叉树。此外,打印二叉树的中序遍历。注意 - 在……阅读更多

检查给定的排列是否是给定树的有效 BFS

Shubham Vora
更新于 2023年8月2日 13:05:45

197 次浏览

在这个问题中,我们将检查是否可以使用给定的二叉树使用 BFS(广度优先搜索)遍历获得 1 到 N 元素给定数组的排列。在这里,我们将遍历树并使用 BFS 遍历查找所有可能的排列。之后,我们可以检查任何 BFS 遍历结果是否与数组排列匹配。问题陈述 - 我们给出了一个大小为 N 的数组,其中包含以随机顺序排列的前 N 个正整数。此外,我们还给出了一个包含前 N 个数字作为树节点的树。我们需要检查我们是否……阅读更多

检查是否可以从给定位置到达数组的末尾

Shubham Vora
更新于 2023年8月2日 12:58:23

77 次浏览

在这个问题中,我们将检查是否可以通过从当前位置向后或向前移动 nums[p] 步来到达数组的末尾。解决这个问题的天真方法是检查所有可能进入数组的可能性,并查看我们是否可以到达数组的末尾。另一种方法是使用队列和数组中的 BFS 遍历。在本教程中,我们将学习两种方法来检查我们是否可以到达数组的末尾。问题陈述 - 我们给出了一个包含正整数的 nums[] 数组。此外,我们还给出了……阅读更多

对字母数字字符串进行排序,使字母和数字的位置保持不变

Sonal Meenu Singh
更新于 2023年8月1日 09:43:27

802 次浏览

简介在本教程中,我们介绍了一种对字母数字字符串进行排序的方法,使字母和数字的位置保持不变。在这种方法中,我们使用 C++ 函数并获取包含字符和数字的输入字符串。生成不更改字母和数字位置的字符串。新排序的字符串包含按字母顺序排列的字符,排列数字将保持它们的位置不变。示例 1 字符串 = “tutorials43points” 输出 = aiilnoopr34sstttu 在上面的示例中,输入字符串重新排列而不更改数字 32 的位置。字符是……阅读更多

广告