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 && 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 > 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"> </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 && 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 > 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> </p>
</div>
<div id="MySignature" role="contentinfo">
当你看清人们的真相,于是你知道了,你可以忍受孤独<br><br>
来源:https://www.cnblogs.com/niuyourou/p/13488254.html
頁:
[1]