980 次浏览
在这个问题中,我们给定一个大小为 N*N 的矩阵 mat[][]。我们的任务是在矩阵中找到和最大的行。让我们举个例子来理解这个问题,输入 mat[][] = { 8, 4, 1, 9 3, 5, 7, 9 2, 4, 6, 8 1, 2, 3, 4 }输出第 2 行,和为 24解释第 1 行:和 = 8+4+1+9 = 22 第 2 行:和 = 3+5+7+9 = 24 第 3 行:和 = 2+4+6+8 = 20 第 4 行:和 = 1+2+3+4 = 10解决方案一种简单的解决方案是找到每行元素的和... 阅读更多
127 次浏览
在这个问题中,我们给定一个二进制矩阵,其中每一行都是排序的。我们的任务是查找二进制矩阵中 1 的数量最多的行号。让我们举个例子来理解这个问题,输入 binMat[][] = { 1, 1, 1, 1 0, 0, 0, 0 0, 0, 0, 1 0, 0, 1, 1 }输出1解决方案一种简单的解决方案是计算每一行中 1 的总数。然后返回 1 计数最多的行号。程序说明了解决方案的工作原理,示例 实时演示#include ... 阅读更多
204 次浏览
在这个问题中,我们给定一棵二叉树和父指针。我们的任务是查找具有父指针的二叉树的右兄弟节点。让我们举个例子来理解这个问题,输入节点 = 3输出7解决方案一种简单的解决方案是找到最近祖先(既不是当前节点也不是当前节点的父节点)的叶节点,该祖先与当前节点位于同一级别。这是通过在向上移动时计算级别,然后在向下移动时计算级别来完成的。然后找到节点。程序说明... 阅读更多
135 次浏览
在这个问题中,我们给定五个值 m、n、第 m 项、第 n 项、p。我们的任务是查找已知第 M 项和第 N 项的等比数列的第 P 项。对于等比数列,我们给定第 m 项和第 n 项的值。使用这些值,我们需要找到该数列的第 P 项。让我们举个例子来理解这个问题,输入 m = 7,第 m 项 = 1458,n = 10,第 n 项 = 39366,p = 3输出18解决方案这里,我们给定一个等比数列。假设等比数列为,等比数列 = a、a*r、a*(r2)、a*(r3)…。... 阅读更多
145 次浏览
在这个问题中,我们给定四个值 p、q、r、s。我们的任务是查找给定命中目标概率时玩家获胜的概率。这里,我们有两个玩家在玩射箭游戏。玩家 1 命中目标的概率定义为 p/q。玩家 2 命中目标的概率定义为 r/s。我们需要找到玩家一赢得比赛的概率。让我们举个例子来理解这个问题,输入 p = 3,q = 5,r = 2,s = 5输出0.789解决方案*此方法需要... 阅读更多
502 次浏览
在这个问题中,我们给定四个值 A、B、C、M(一个素数)。我们的任务是查找素数模下幂的幂。我们只需要找到 (A ^ (B ^ C)) (mod M) 的值。让我们举个例子来理解这个问题,输入 A = 3,B = 6,C = 2,M = 11输出3解释 (A ^ (B ^ C)) = (3 ^ (6 ^ 2)) = (3 ^ (36))(mod 11) = 3解决方案一种简单的解决方案是直接计算 (A ^ (B ^ C)) 的值,这可以通过... 阅读更多
1K+ 次浏览
在这个问题中,我们给定一个数组 preOrder[],它表示二叉搜索树的先序遍历。我们的任务是根据先序遍历查找二叉搜索树的后序遍历。让我们举个例子来理解这个问题,输入 preOrder[] = {5, 2, 4, 7, 12}输出{4, 2, 12, 7, 5}解决方案一种简单的解决方案是从给定的先序遍历创建一棵二叉搜索树。然后对树进行后序遍历。此解决方案还可以,但更有效的解决方案是,我们将遍历先序数组,并限制值以分隔左值和... 阅读更多
在这个问题中,我们给定一个数字 N,其二进制表示中只有一个设置位。我们的任务是找到唯一设置位的位。如果数字只有一个设置位,则返回数字的位,否则打印无效数字。让我们举个例子来理解这个问题,输入 N = 32输出6解释该数字的二进制表示为 10000。解决方案在继续之前需要知道的一件事是,如果数字是 2 的幂,则它将只有一个设置位。否则,它将有多个设置位。一种简单的... 阅读更多
342 次浏览
在这个问题中,我们给定一个数字 N。我们的任务是查找由 4 和 7 组成的数字中给定数字的位置。仅由 4 和 7 组成的序列为 4、7、44、47、74、77、444…。让我们举个例子来理解这个问题,输入 N = 5输出74解释前 5 项的序列为 4、7、44、47、74…解决方案一种简单的解决方案是基于在序列中查找模式。这里,每个偶数位置的末尾都包含 7。每个奇数位置的末尾都包含 4。因此,我们可以通过... 阅读更多
162 次浏览
在这个问题中,我们给定两个数字 num1 和 num2。我们的任务是找到两个数字的最左侧不同位的位。我们需要打印在各自的二进制表示中不相同的两个数字的第一个位。为了找到该位,两个数字的长度需要相同。这是通过在位数较少的数字的开头附加 0 来完成的。让我们举个例子来理解这个问题,输入 num1 = 4,num2 = 7输出1解释4 的二进制表示为 1007 的二进制表示为 111第一个位是... 阅读更多