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;
|
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
|
#endif //LEETCODE_CPP_DEFS_H
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue