AT
Size: a a a
AT
AT
A(
DP
AT
class Solution {
public:
int rand10() {
for (;;) {
while (h < 10) {
i = 7 * (i - 1) + rand7();
//i = h * (rand7() - 1) + i;
h *= 7;
}
int a = (h / 10) * 10;
if (i > a) {
i -= a;
h -= a;
} else {
int result = (i - 1) % 10 + 1;
i = (i - 1) / 10 + 1;
h /= 10;
return result;
}
}
}
private:
int h = 1;
int i = 1;
};p
p
p
p
AD
p
p
p
AD
AD
p
AD
AD
p
p