非常中规中矩的做法,没有参考其他人怎么做的,有时间看看
Runtime: 4 ms, faster than 68.02% of C++ online submissions for Happy Number.
Memory Usage: 7.4 MB, less than 100.00% of C++ online submissions for Happy Number.
class Solution {
public:
std::vector<int> results;
bool isHappy(int n) {
int s = pow2Num(n);
if(s == 1)
return true;
else{
if(isIncluded(s))
return false;
else{
results.push_back(s);
return isHappy(s);
}
}
}
int pow2Num(int m){
int s = 0;
while(m != 0){
s += pow(m%10, 2);
m /= 10;
}
return s;
}
bool isIncluded(int num){
for(int index = 0; index < results.size(); ++index){
if(results[index] == num)
return true;
}
return false;
}
};
犯了一个比较低级的错误就是,把sqrt理解成平方的意思,实际上这是开平方!!!
我知道了sqrt是square root的缩写