C++ 程序用于产品数组谜题17 Mar 2025 | 4 分钟阅读 在本文中,我们将讨论如何使用几种方法在 C++ 中找到乘积数组难题。 问题陈述我们有一个整数数组,我们必须创建一个与输入数组大小相同的新数组,其中新数组的每个元素都等于旧给定数组 nums 中除 nums[i] 之外所有元素的乘积。 输入格式 我们以一个整数数组为例: 示例 nums = {1, 2, 3, 4, 5} 输出格式: 我们期望在执行上述操作后打印数组元素。 示例:新数组为 product = {120, 60, 40, 30, 24} 说明 Product[0] = 2*3*4*5 Product[1] = 1*3*4*5 Product[2] = 1*2*4*5 Product[3] = 1*2*3*5 Product[4] = 1*2*3*4 解决给定问题的方法有很多。在这里,我们讨论 4 种解决问题的方法。这个问题必须在不使用 除法运算符 的情况下解决。 方法 1:暴力法让我们举一个例子来演示在 C++ 中使用暴力法解决 乘积数组难题。 输出 ![]() 说明 有一个 整数 n,它是数组的长度,以及一个整数数组。在上面的程序中,有两个循环在运行。第一个循环遍历数组。之后,内部循环包含三个变量:left、right 和 mul 变量。left 变量将减一以获取当前索引之前数字的乘积,right 变量将增一以获取当前索引之后数字的乘积。这两个变量 left 和 right 有单独的 while 循环。在获得索引左侧和索引右侧元素的乘积后,我们将打印两者的乘积。 方法 2:使用幂函数法让我们举一个例子来演示在 C++ 中使用幂函数法解决 乘积数组难题。 输出 ![]() 说明 这个程序有一个 for 循环,它遍历给定的数组,然后找到数组元素的总乘积并将其存储在名为 mul 的变量中。之后,我们再次使用 for 循环再次遍历数组,但这次,我们将总元素的乘积乘以当前元素的幂(减一)。这意味着我们将当前元素的倒数乘以整个乘积,这将给出我们预期的相同结果。 方法 3:使用左乘积和右乘积让我们举一个例子来演示在 C++ 中使用左乘积和右乘积解决 乘积数组难题。 输出 ![]() 说明 这个程序也通过使用两个数组 left 和 right 来解决问题。这个程序有四个 for 循环,其中一个 for 循环用于将数组 left 和 right 的每个元素初始化为 0,然后第二个 for 循环用于获取每个元素的前缀乘积。之后,第三个 for 循环用于获取元素的后缀乘积,然后最终的 for 循环根据当前元素生成 前缀乘积 和 后缀乘积。 方法 4:使用对数和反对数让我们举一个例子来演示在 C++ 中使用对数和反对数解决 乘积数组难题。 输出 ![]() |
在本文中,您将学习如何在 C++ 中从单向链表中选择一个随机节点。如果您想从单向链表中选择一个随机节点,您可以遵循以下步骤:定义节点结构:首先在...中建立节点的结构。
阅读 2 分钟
这两种都是我们主要用于竞技编程和其他行业的编程语言,因为它们提供了各种功能。C++ 在程序员中非常流行,因为它非常高效,动态使用内存,并且运行速度快。另一方面,Java,...
7 分钟阅读
C++ 是一种强大且适应性强的语言,可在各种领域进行编程,包括系统编程、游戏开发以及介于两者之间的所有领域。C++ 具有许多用于将文本转换为数值以及将数值转换为文本的函数,以便有效地处理数值数据。能力...
阅读 4 分钟
在本文中,您将了解 C++ 中的 std::mt19937 类,包括其语法、参数和示例。在 C 中,我们使用 rand() 和 srand() 等函数,而在 C++ 中,我们使用 std::rand() 和 std::srand()。还有许多更高级的随机数生成器可供选择,以实现...
阅读 4 分钟
Prim 算法是一种贪心算法,用于查找连通无向图的最小生成树(MST)。图的最小生成树是边的子集,它形成一棵树并连接图中的所有顶点,同时最小化...
阅读 26 分钟
与其他动态编程语言相比,C++ 功能强大且灵活。对于那些不了解其在各个方面的好处的人来说,`bind1st` 是最好的选择。本文将讨论 `bind1st`,您将看到它将如何...
阅读 4 分钟
在本文中,我们将描述 C++ 中的可折叠二叉树。在 C++ 中,可折叠二叉树是一种树形数据结构,其中每个节点的左右子树都呈镜像对称。如果可以折叠,则左右子树应具有相同的结构...
5 分钟阅读
什么是二叉树?二叉树是一种数据结构,由分层组织的节点组成。每个节点最多有两个子节点,通常是左子节点和右子节点。根节点是树中最顶端的节点,叶节点是...
阅读 16 分钟
C++ 编程中的一个关键思想是指针的概念,它使程序员能够有效地处理数据结构和修改内存地址。在众多指针类型中,对象指针尤其重要,因为它们使处理存储的对象更加容易...
11 分钟阅读
教程 编译器 程序 OOPs STL 面试题 | C++ 编程示例 C++ 程序经常在面试中出现。这些程序可以来自基础、数组、字符串、指针、链表,...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India