Python 程序返回数组乘积的符号

2024 年 8 月 29 日 | 阅读 2 分钟

在本教程中,我们将编写一个Python程序,该程序返回数组乘积的符号。这是一个简单的LeetCode问题,可能会在技术面试中被问到。让我们来理解一下问题陈述。

问题陈述

示例 - 1

输入: nums = [-1,-2,-3,-4, 3, 2, 1]

输出 1

示例 - 2

输入: nums = [1, 5, 0, 2, -3]

输出 0

解释 -

在这里,我们需要计算列表中所有值的乘积;如果返回正整数,则符号为1。如果返回负值,则符号为-1,否则返回0。

上述列表的乘积为144,这是一个正整数;因此输出为1。

约束条件 -

我们需要定义一个单独的函数来返回以下结果。

  • 如果x为正,则返回1。
  • 如果x为负,则返回-1。
  • 如果x等于0,则返回0。

让我们编写一个Python程序来解决这个问题。

解决方案

让我们来理解下面的解决方案。

输出 1

1

nums = [-1, 1, -1, 1, -1]

输出 2

-1

解释 -

prodSign()函数中,我们定义了prod变量来存储变量的乘积。for循环遍历每个值并更新prod值。在第一次迭代中,i是-1,prod是1,所以乘积将是-1。现在,-1被赋值给prod变量。在第二次迭代中,i是-2,prod是-1;因此乘积将是2。一旦我们得到最终的乘积,就调用signfun()并根据结果返回符号。