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
Example 2:
Input: nums = [1,5,0,2,-3] Output: 0 Explanation: The product of all values in the array is 0, and signFunc(0) = 0
Example 3:
Input: nums = [-1,1,-1,1,-1] Output: -1 Explanation: The product of all values in the array is -1, and signFunc(-1) = -1
Constraints:
1 <= nums.length <= 1000
-100 <= nums[i] <= 100
Solution 1:class Solution {public int arraySign(int[] nums) {int sign = 1;for(int num:nums){if(num == 0){return 0;}if(num < 0){sign *= -1;}}return sign;}}Solution 2:class Solution {public int arraySign(int[] nums) {int countNeg = 0;for(int num:nums){if(num == 0){return 0;}if(num < 0){countNeg++;}}return countNeg % 2 == 0 ? 1 : -1;}}
TC: O(n) SC: O(1)