1822. Sign of the Product of an Array
There is a function signFunc(x)
that returns:
1
ifx
is positive.-1
ifx
is negative.0
ifx
is equal to0
.
You are given an integer array nums
. Let product
be the product of all values in the array nums
.
Return signFunc(product)
.
Example 1:
Input: nums = [-1,-2,-3,-4,3,2,1] Output: 1 Explanation: The product of all values in the array is 144, and signFunc(144) = 1
Constraints:
1 <= nums.length <= 1000
-100 <= nums[i] <= 100
class Solution { public: int arraySign(vector<int>& nums) { int cnt_neg=0; for(int i=0;i<nums.size();i++){ if(nums[i]==0) return 0; if(nums[i]<0) cnt_neg++; } if(cnt_neg%2==0) return 1; else return -1; } };
更好的写法
class Solution { public: int arraySign(vector<int>& nums) { int sign=1; for(int n:nums){ if(n==0) return 0; if(n<0) sign=-sign; } return sign; } };