Four Divisors LeetCode solution in C++

1
class Solution {
2
public:
3
int sumFourDivisors(vector<int> &nums) {
4
int n = nums.size();
5
int sum = 0, cnt = 0, temp = 0;
6
for (int i = 0; i < n; i++) {
7
int x = nums[i];
8
int sq = sqrt(x);
9

10
for (int j = 1; j <= sq; j++) {
11
if (x % j == 0) {
12
cnt += 2;
13
temp += (j + x / j);
14

15
if (j == x / j) {
16
cnt--;
17
temp -= j;
18
}
19

20
if (cnt > 4) break;
21
}
22
}
23
if (cnt == 4) {
24
sum += temp;
25
}
26
temp = 0;
27
cnt = 0;
28
}
29
return sum;
30
}
31
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0