iT邦幫忙

0

30天 Leetcode挑戰_Day 8

  • 分享至 

  • xImage
  •  

明明感覺自己做的出來卻花了好多時間沒有半點想法 最後還是看了答案

本日耗時:36mins

  1. Happy Number
    Write an algorithm to determine if a number n 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.
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.
Return true if n is a happy number, and false if not.

class Solution {
public:
    int sumOfDigits(int n) {
        int x = 0; 
        while(n > 0) {
            x += (n % 10) * (n % 10); 
            n /= 10; 
        }
        return x; 
    }

    bool isHappy(int n) {
        while(n > 4) {
            n = sumOfDigits(n); 
        }
        return n == 1; 
    }
};

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言