lc1969. 数组元素的最小非零乘积

题目链接:1969. 数组元素的最小非零乘积

题解

P=3,P=4,手推一下就可以发现规律,结果是 (2P2)(2(P1)1)(2P1)(2^P-2)^{(2^{(P-1)} - 1)}(2^P-1)

由于数字很大,用 C++ 实现快速幂需要手动取模。Python 中的 pow(x, y[, z]) 函数 z 可以指定为模数。

参考代码

1
2
3
class Solution:
def minNonZeroProduct(self, p: int) -> int:
return int((pow(2, p)-1) * pow( pow(2, p) - 2, (pow(2, p-1) - 1), 10**9+7)%(10**9+7))

lc1969. 数组元素的最小非零乘积

https://blog.xiang578.com/problem/lc1969.html

作者

Ryen Xiang

发布于

2023-07-04

更新于

2024-04-20

许可协议


网络回响

评论