leetcode第129场比赛第二题解析。
直接上代码:
class Solution {
public:
int smallestRepunitDivByK(int K) {
set<int> s;
int c = 1;
int rmd = 1%K;//remainder
while(!s.count(rmd)) {
if(prod == 0) {
return c;
}
s.insert(rmd);
rmd = (rmd*10+1)%K;
c++;
}
return -1;
}
};
这里的判断条件:while(!s.count(rmd))。是解题关键所在。