找到关于数据结构的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 转换为 M 的每个步骤中要添加的 N 的质因子的数量

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

60 次浏览

在这个问题中,我们将通过将 N 的一个质因子添加到自身并在每次操作中更新它来将数字 N 转换为 M。我们将使用广度优先搜索算法来解决问题。我们将找到每个更新的 N 的质因子,并在将其添加到 N 的质因子后将其插入队列。此外,我们将定义函数来查找特定数字的最小质因子。问题陈述 - 我们给定整数 N 和 M。我们需要计算将...转换为 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 的位置。字符是... 阅读更多

广告