<span style="font-family: Arial, Helvetica, sans-serif;">class Solution {</span>
<span style="font-family: Arial, Helvetica, sans-serif;">public:</span>
bool isHappy(int n) {
unordered_set<int> ss;
while(1)
{
int sum = 0;
while(n)
{
sum += pow((n%10),2);
n /= 10;
}
//cout<<sum<<endl;
if(sum == 1) return true;
if(ss.find(sum) != ss.end())
return false;
ss.insert(sum);
n = sum;
}
}
};
使用C++的STL容器unordered_set实现hash存储
unordered_set是C++11 中新添加的容器,是传统的拉链法的哈希实现。对与这类非排序的索引效率更高