leetcode202. 快乐数
生活随笔
收集整理的這篇文章主要介紹了
leetcode202. 快乐数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
二:上碼
class Solution { public:int getSum(int nums){int sum = 0;while(nums) {sum += pow((nums%10),2);//對10取余得個位nums = nums/10;//對10用除法得到前面的數(除了個位以外其他的數) }return sum;}bool isHappy(int n) {/**思路:1.這里我們需要注意題目給出的無限循環,也就是當出現重復的數的時候,就會出現無限循環,那么此時我們就需要返回false了2.這里判斷是否出現無線循環,我們用的是unordered_set容器,用其find()方法*/unordered_set<int>s;while(1){int sum = getSum(n);if(sum == 1){return true;}//出現無限循環if(s.find(sum) != s.end()){//如果其存在的話,存在的話就是 說明出現無線循環return false;}else{//s.insert(sum);}n = sum;//下一個數}return false;} }; 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的leetcode202. 快乐数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode349. 两个数组的交集
- 下一篇: leetcode1. 两数之和(两种方法