非常中規中矩的做法,沒有參考其他人怎麼做的,有時間看看
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的縮寫