zoukankan      html  css  js  c++  java
  • LeetCode

    Happy Number

    2015.4.22 12:39

    Write an algorithm to determine if a number is "happy".

    A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.

    Example: 19 is a happy number

    • 12 + 92 = 82
    • 82 + 22 = 68
    • 62 + 82 = 100
    • 12 + 02 + 02 = 1

    Solution:

      Dull.

    Accepted code:

     1 @@ -0,0 +1,36 @@
     2 // 1CE, 1AC, dull
     3 #include <unordered_set>
     4 using namespace std;
     5 
     6 class Solution {
     7 public:
     8     bool isHappy(int n) {
     9         unordered_set<int> us;
    10         unordered_set<int>::iterator it;
    11         
    12         while (true) {
    13             if (n == 1) {
    14                 break;
    15             }
    16             if (us.find(n) == us.end()) {
    17                 us.insert(n);
    18             } else {
    19                 break;
    20             }
    21             n = dsum(n);
    22         }
    23         return n == 1;
    24     }
    25 private:
    26     int dsum(int n) {
    27         int s = 0;
    28         int d;
    29         while (n > 0) {
    30             d = n % 10;
    31             n /= 10;
    32             s += d * d;
    33         }
    34         
    35         return s;
    36     }
    37 };
  • 相关阅读:
    eureka流程图
    Feign和Ribbon的重试机制
    idea编译kafka 2.6 源码
    Feign的调用流程
    FeignClientFactoryBean创建动态代理
    Feign源码的入口
    Ribbon的检查服务
    Ribbon是怎么和Eureka整合的?
    Eureka过期
    backup: sqlHelper --cSharp
  • 原文地址:https://www.cnblogs.com/zhuli19901106/p/4447124.html
Copyright © 2011-2022 走看看