Leetcode1822. 数组元素积的符号

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;
    }
};
posted @ 2021-08-11 15:14  dinghao1262  阅读(94)  评论(0)    收藏  举报