2023-05-02 Daily Challenge
Today I have done leetcode's May LeetCoding Challenge with cpp.
May LeetCoding Challenge 2
Description
Sign of the Product of an Array
There is a function signFunc(x) that returns:
1ifxis positive.-1ifxis negative.0ifxis 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
template <typename T> int sgn(T val) {
return (T(0) < val) - (val < T(0));
}
class Solution {
public:
int arraySign(vector<int>& nums) {
int answer = 1;
for(auto n : nums) {
answer *= sgn(n);
}
return answer;
}
};
// Accepted
// 76/76 cases passed (8 ms)
// Your runtime beats 27.4 % of cpp submissions
// Your memory usage beats 86.28 % of cpp submissions (10.1 MB)