找到关于编程的34423 篇文章

C++ 中最大和,使得没有两个元素相邻 - 集 2

Ayush Gupta
更新于 2020年10月15日 12:05:22

164 次浏览

在这个问题中,我们给定一个数组 arr[]。我们的任务是创建一个 C++ 程序来查找最大和,使得没有两个元素相邻。问题描述我们需要从数组中找到序列的最大和,使得和序列中没有两个数字在数组中相邻。让我们举个例子来理解这个问题,输入 arr[] = {5, 1, 3, 7, 9, 2, 5} 输出 22 解释从索引 0 开始,取交替元素的和:5 + 3 + 9 + 5 = 22 从索引 1 开始,取交替元素的和……阅读更多

C++ 中最大和,使得没有两个元素相邻

Ayush Gupta
更新于 2020年10月15日 12:07:39

190 次浏览

在这个问题中,我们给定一个数组 arr[]。我们的任务是创建一个 C++ 程序来查找最大和,使得没有两个元素相邻。问题描述我们需要从数组中找到序列的最大和,使得和序列中没有两个数字在数组中相邻。让我们举个例子来理解这个问题,输入 arr[] = {5, 1, 3, 7, 9, 2, 5} 输出 22 解释从索引 0 开始,取交替元素的和:5 + 3 + 9 + 5 = 22 从索引 1 开始,取交替元素的和……阅读更多

在 C++ 中查找排序双向链表中具有给定乘积的数对

Arnab Chakraborty
更新于 2020年7月25日 11:12:21

201 次浏览

概念对于给定的正数不同元素的排序双向链表,我们的任务是在双向链表中确定乘积等于给定值 x 的数对,而无需消耗任何额外空间。输入列表 = 1 2 4 5 6 8 9 x = 8 输出 (1, 8), (2, 4) 输入列表 1 = 1 2 3 4 5 6 7 x = 6 输出 (1, 4), (2, 3) 方法对于这个问题的简单方法,我们遍历链表实现两个嵌套循环,并确定所有对并验证……阅读更多

在 C++ 中查找二元矩阵中具有最大位差的行对

Arnab Chakraborty
更新于 2020年8月25日 12:06:43

121 次浏览

假设我们有一个二元矩阵;我们必须找到给定矩阵中具有最大位差的行对。因此,如果输入类似于矩阵,则输出将为 [2, 3],因为第 2 行和第 3 行之间的位差为 4,这是最大的。为了解决这个问题,我们将遵循以下步骤:定义 Trie 结构,具有值和两个子节点。定义一个函数 get_max_bit_diff(),它将获取 Trie 的根、矩阵、n、行索引,temp := 根,count := 0 对于初始化 i := 0,当 i < n 时,更新(i 加 1),执行:−如果 child[matrix[row_index,……阅读更多

在 C++ 中无需额外空间查找排序单链表中给定和的数对

Arnab Chakraborty
更新于 2020年8月25日 12:11:04

110 次浏览

假设我们有一个单链表和一个值 x;我们必须找到一个和等于 x 的数对。我们必须记住,我们不能使用任何额外空间,并且预期的时空复杂度为 O(n)。因此,如果输入类似于 4→7→8→9→10→11→12,x = 19,则输出将为 [(7, 12), (8, 11), (9, 10)] 为了解决这个问题,我们将遵循以下步骤:定义一个函数 convert_to_xor(),它将获取 start,prev := NULL 当 start 为 NULL 时,执行:−next_list_node := start 的下一个节点 start 的下一个节点 := next_list_node 的地址和……阅读更多

在 C++ 中从每对的 gcd() 查找原始数字

Arnab Chakraborty
更新于 2020年7月25日 10:55:18

287 次浏览

概念对于给定的数组 array[],其中包含另一个数组的每对元素的 GCD,我们的任务是确定用于计算 GCD 数组的原始数字。输入 array[] = {6, 1, 1, 13} 输出 13 6 gcd(13, 13) = 13 gcd(13, 6) = 1 gcd(6, 13) = 1 gcd(6, 6) = 6 输入 arr[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 6, 6, 8, 11, 13, 3, 3} 输出 13 11 8 6 6 方法首先,按降序对数组进行排序。最大的元素将始终是……阅读更多

在 C++ 中查找可以破坏的边数,使得生成的两个树的按位或相等

Arnab Chakraborty
更新于 2020年7月25日 10:51:58

258 次浏览

概念对于给定的具有 m 个节点的树以及与每个节点关联的数字,我们可以破坏任何树边,这将导致形成 2 个新树。在这里,我们必须计算这种边数,以便在破坏该边后构建的两个树中存在的节点的按位或相等。需要注意的是,每个节点的值 ≤ 10^6。输入 values[]={1, 3, 1, 3}      1    / | \   2 3 4 输出 2 在这里,可以破坏 1 和 2 之间的边,按位……阅读更多

在 C++ 中查找给定递推关系的第 n 项

Arnab Chakraborty
更新于 2020年7月25日 10:45:38

196 次浏览

概念假设 bn 是一个数字序列,它由递推关系 b1=1 和 bn+1/bn=2n 表示。我们的任务是确定给定 n 的 log2(bn) 的值。输入 6 输出 15 解释 log2(bn) = (n * (n - 1)) / 2 = (6*(6-1))/2 = 15 输入 200 输出 19900 方法 bn+1/bn = 2n bn/bn-1 = 2n-1...b2/b1 = 21,我们将以上所有内容相乘以获得 (bn+1/bn).(bn/n-1)……(b2/b1) = 2n + (n-1)+……….+1 所以,bn+1/b1 = 2n(n+1)/2 因为我们知道,1 + 2 + 3 + ………. + (n-1) + n = n(n+1)/2 所以,bn+1 = 2sup>n(n+1)/2 现在用 (n+1) 代替 n,我们得到……阅读更多

在 C++ 中查找字符串的第 n 个字典序排列

Arnab Chakraborty
更新于 2020年7月25日 16:30:39

181 次浏览

概念对于给定的长度为 m 的字符串(仅包含小写字母),我们的任务是确定字符串的第 n 个字典序排列。输入 str[] = "pqr",n = 3 输出 结果 = "qpr" 解释按排序顺序排列的所有可能排列:pqr、prq、qpr、qrp、rpq、rqp 输入 str[] = "xyx",n = 2 输出 结果 = "xyx" 解释按排序顺序排列的所有可能排列:xxy、xyx、yxx 方法在这里,我们使用一些数学概念来解决这个问题。该概念基于以下事实。在这里,由 N 个字符(全部不同)生成的字符串的排列总数为 N!现在,由 N 个……阅读更多

在 C++ 中查找按位或等于 K 的 N 个不同数字

Arnab Chakraborty
更新于 2020年7月25日 10:36:52

207 次浏览

概念对于给定的两个整数 N 和 K,我们的任务是确定 N 个不同整数,其按位或等于 K。已经看到,如果不存在任何可能的答案,则打印 -1。输入 N = 4,K = 6 输出 6 0 1 2 输入 N = 11,K = 6 输出 -1 不可能找到任何解决方案。方法我们知道,如果一系列数字的按位或为 K,则 K 中为 0 的所有位索引在所有数字中也必须为零。因此,我们只有那些位置……阅读更多

广告
© . All rights reserved.