1822. 数组元素积的符号
已知函数 signFunc(x) 将会根据 x 的正负返回特定值:
如果 x 是正数,返回 1 。
如果 x 是负数,返回 -1 。
如果 x 是等于 0 ,返回 0 。
给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。返回 signFunc(product) 。
题意概述:根据给定数组所有元素的乘积的符号返回结果。
解题报告:
肯定不能直接乘 万一爆了怎么办
因为结果是根据最后的符号返回,直接遍历数组元素,判定乘积最后的符号即可。
class Solution {
public:
int arraySign(vector<int>& nums) {
int flag=1;
for (int i=0;i<nums.size();i++)
if (nums[i]>0) flag*=1;
else if (nums[i]<0) flag*=-1;
else {
flag=0;
break;
}
return flag;
}
};