add: 230502
This commit is contained in:
parent
477e490bb4
commit
32f7bd3bd0
|
|
@ -0,0 +1,28 @@
|
|||
#include <numeric>
|
||||
#include <vector>
|
||||
|
||||
/**
|
||||
* 1822. Sign of the Product of an Array
|
||||
*
|
||||
* There is a function signFunc(x) that returns:
|
||||
*
|
||||
* 1 if x is positive.
|
||||
* -1 if x is negative.
|
||||
* 0 if x is equal to 0.
|
||||
* You are given an integer array nums. Let product be the product of all values in the array nums.
|
||||
*
|
||||
* Return signFunc(product).
|
||||
*/
|
||||
|
||||
class LC230502 {
|
||||
public:
|
||||
static int arraySign(const std::vector<int>&) noexcept;
|
||||
};
|
||||
|
||||
inline constexpr int sgn(int x) noexcept { return (x >> 31) | !!x; }
|
||||
|
||||
int LC230502::arraySign(const std::vector<int>& n) noexcept {
|
||||
return std::reduce(n.begin(), n.end(), 1, [](int x, int y) {
|
||||
return sgn(x) * sgn(y);
|
||||
});
|
||||
}
|
||||
|
|
@ -19,5 +19,9 @@ public:
|
|||
static std::vector<int> powerfulIntegers(int, int, int) noexcept;
|
||||
};
|
||||
|
||||
class LC230502 {
|
||||
public:
|
||||
static int arraySign(const std::vector<int>&) noexcept;
|
||||
};
|
||||
|
||||
#endif //LEETCODE_CPP_DEFS_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue