leetcode每日刷题计划-简单篇day21

今天是比较复杂的一天呀~下午谈外包,发现需求和理解的不一样,应该是不能接了。等假期忙完以后学一学ios开发,大三上争取外包赚到三万块钱吧。

晚上的时候发现班导生名单出来了,可以理解但是自己觉得不是很让人信服。不过既然面试的时候面试官已经明确的提到了学生会是先决条件,没通过也很正常。

现在暑假就认认真真的写论文刷题,9.8过PAT,论文也要在9月末之前搞出来。

遗憾肯定是有的,但是总有更重要的事情要去做呀。

Num 202 快乐数

刚开始的时候没反应过来,循环的话总是会回去的,一个大佬在题解区给了范围。正整数最大值2147483647,各个位的平方叠加和是810,三位数最大是243,所以整个循环不会太大,开一个vector给他们存起来,(新生成的记得存起来),然后判断有没有出现过,重复即为死循环

class Solution {
public:
    bool isHappy(int n) {
        vector<int>unhappy;
        while(n!=1)
        {
            int ans=0;
            int temp;
            while(n!=0)
            {
                temp=n%10;
                n=n/10;
                ans=ans+temp*temp;
            }
            n=ans;
            ans=0;
            //cout<<n<<endl;
            if(n==1) return true;
            for(int i=0;i<unhappy.size();i++)
            {
                if(n==unhappy[i]) return false;
            }
            unhappy.push_back(n);
        }
        return true;
    }
};
View Code

猜你喜欢

转载自www.cnblogs.com/tingxilin/p/11167103.html