• leetcode 202 快乐数


     

    class Solution {
    public:
        bool isHappy(int n) {
            unordered_map<int,bool> m;
            while(n!=1){
                m[n]=true;
                int sum=0,a;
                while(n){
                    a=n%10;
                    sum+=a*a;
                    n/=10;
                }
                n=sum;
                if(m[n]) return false;
            }
            return true;
        }
    };

    使用hash set

    /**
    使用一个hash set 或者hashmap来记录已经出现的数字,如果出现的数是出现过的(有循环)return false;如果最终返回1,break; return true;
    **/
    
    class Solution {
    public:
        bool isHappy(int n) {
            unordered_set<int> s;
            while(n!=1){
                s.insert(n);
                int tmp=0;
                while(n!=0){
                    int k=n%10;
                    tmp+=k*k;
                    n=n/10;
                }
                n=tmp;
                if(s.count(n)) return false;
            }
            return true;
        }
    };/**
    使用一个hash set 或者hashmap来记录已经出现的数字,如果出现的数是出现过的(有循环)return false;如果最终返回1,break; return true;
    **/
    
    class Solution {
    public:
        bool isHappy(int n) {
            unordered_set<int> s;
            while(n!=1){
                s.insert(n);
                int tmp=0;
                while(n!=0){
                    int k=n%10;
                    tmp+=k*k;
                    n=n/10;
                }
                n=tmp;
                if(s.count(n)) return false;
            }
            return true;
        }
    };
  • 相关阅读:
    生成器
    各种表达式
    迭代器
    闭包函数及装饰器
    名称空间及作用域
    函数的嵌套
    函数对象
    OpenSSL Heartbleed “心脏滴血”漏洞简单攻击示例
    PHP函数usort是咋回事?还能当后门?
    CVE-2017-7269—IIS 6.0 WebDAV远程代码执行漏洞分析
  • 原文地址:https://www.cnblogs.com/joelwang/p/10709212.html
Copyright © 2020-2023  润新知