3
Set<Integer> exist = new HashSet();5
public int countDifferentSubsequenceGCDs(int[] nums) {7
for (int num : nums) exist.add(num);9
for (int i = 1; i <= max; i++) if (findGCD(i)) count++; // <---- findGCD13
public void getMax(int[] nums) {14
for (int i : nums) max = Math.max(max, i);17
public int gcd(int a, int b) {18
return (a == 0) ? b : gcd(b % a, a);21
public boolean findGCD(int num) {23
for (int i = num; i <= max; i += num)24
if (exist.contains(i)) val = gcd(i, val); // <---- gcd between two number