【力扣算法题】数组元素积的符号
文章目录
题目介绍
已知函数 signFunc(x) 将会根据 x 的正负返回特定值:
如果 x 是正数,返回 1 。
如果 x 是负数,返回 -1 。
如果 x 是等于 0 ,返回 0 。
给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。
返回 signFunc(product) 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sign-of-the-product-of-an-array
题解
1. 遍历(个人解法)
仔细看了一下,基本题解区的解法都是这样的,只是对于获得结果的方式不一样
- 有把乘积算出来然后直接判断正负的
- 有用零时变量的(临时变量初始化为1,遇到正数×1,负数×-1,遇到0直接返回0)
- 判断负数数量,负数为偶数的话为正,为奇数则为负
- (还有其他的等等)
本人写的时候使用了第三种方法
C++源码:
int arraySign(vector