P1250 - Check If It Is a Good Array, Leetcode
Problem Description
给 定nums[i]
, 求解 , 使得 , 其中 .
若有解返回true
, 否则返回flase
.
Analysis
裴蜀定理, 又称贝祖定理(Bézout's lemma), 是一个关于最大公约数的定理. 其内容是:
设 , 是不全为 的整数, 则对于任意的整数 和 , 有且只有 成立, 其中 为整数.
可推广到 个整数.
Code
java
class Solution {
public boolean isGoodArray(int[] nums) {
int g = 0;
for (int x : nums) {
g = gcd(x, g);
}
return g == 1;
}
private int gcd(int a, int b) {
while (b != 0) {
int t = a;
a = b;
b = t % b;
}
return a;
}
}
Complexity Analysis
- Time:
- Space: