秋枫糖糖 發表於 2020-8-12 00:30:00

Leetcode202 快乐数 佛洛依德循环

<p><img src="https://img2020.cnblogs.com/blog/1858706/202008/1858706-20200812002416760-343511065.png" alt="" width="598" height="432" loading="lazy"></p>
<p>  JAVA:</p>
<div class="cnblogs_code">
<pre>    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">final</span> <span style="color: rgba(0, 0, 255, 1)">boolean</span> isHappy(<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> n) {
      </span><span style="color: rgba(0, 0, 255, 1)">int</span> next =<span style="color: rgba(0, 0, 0, 1)"> next(n);
      </span><span style="color: rgba(0, 0, 255, 1)">while</span> (n != 1 &amp;&amp; n !=<span style="color: rgba(0, 0, 0, 1)"> next) {
            n </span>=<span style="color: rgba(0, 0, 0, 1)"> next(n);
            next </span>=<span style="color: rgba(0, 0, 0, 1)"> next(next(next));
      }
      </span><span style="color: rgba(0, 0, 255, 1)">return</span> n == 1<span style="color: rgba(0, 0, 0, 1)">;
    }

    </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">final</span> <span style="color: rgba(0, 0, 255, 1)">int</span> next(<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> n) {
      </span><span style="color: rgba(0, 0, 255, 1)">int</span> re = 0<span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 0, 255, 1)">while</span> (n &gt; 0<span style="color: rgba(0, 0, 0, 1)">) {
            </span><span style="color: rgba(0, 0, 255, 1)">int</span> curr = n % 10<span style="color: rgba(0, 0, 0, 1)">;
            n </span>/= 10<span style="color: rgba(0, 0, 0, 1)">;
            re </span>+= curr *<span style="color: rgba(0, 0, 0, 1)"> curr;
      }
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> re;
    }</span></pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/1858706/202008/1858706-20200812002452237-61748511.png" alt="" width="639" height="260" loading="lazy">&nbsp;</p>
<p>  JS:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">*
* @param {number} n
* @return {boolean}
</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
<span style="color: rgba(0, 0, 255, 1)">var</span> isHappy = <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> (n) {
    let ne </span>=<span style="color: rgba(0, 0, 0, 1)"> next(n);
    </span><span style="color: rgba(0, 0, 255, 1)">while</span> (n != 1 &amp;&amp; n !=<span style="color: rgba(0, 0, 0, 1)"> ne) {
      n </span>=<span style="color: rgba(0, 0, 0, 1)"> next(n);
      ne </span>=<span style="color: rgba(0, 0, 0, 1)"> next(next(ne));
    }
    </span><span style="color: rgba(0, 0, 255, 1)">return</span> n == 1<span style="color: rgba(0, 0, 0, 1)">;
};

</span><span style="color: rgba(0, 0, 255, 1)">var</span> next = <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> (n) {
    let re </span>= 0<span style="color: rgba(0, 0, 0, 1)">;
    </span><span style="color: rgba(0, 0, 255, 1)">while</span> (n &gt; 0<span style="color: rgba(0, 0, 0, 1)">) {
      let curr </span>= n % 10<span style="color: rgba(0, 0, 0, 1)">;
      n </span>= Math.floor(n / 10<span style="color: rgba(0, 0, 0, 1)">);
      re </span>+= curr *<span style="color: rgba(0, 0, 0, 1)"> curr;
    }
    </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> re;
}</span></pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/1858706/202008/1858706-20200812002945233-1267784985.png" alt="" width="550" height="211" loading="lazy"></p>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    当你看清人们的真相,于是你知道了,你可以忍受孤独<br><br>
来源:https://www.cnblogs.com/niuyourou/p/13488254.html
頁: [1]
查看完整版本: Leetcode202 快乐数 佛洛依德循环