202. Happy Number

來源:互聯網
上載者:User

標籤:

寫一個digitSum的輔助函數,設一個曾經出現過的set,如果digit sum之後的數是曾經出現過的,就說明會出現迴圈,不會變成1,退出,返回false,否則迴圈

輔助函數和今天的reverse Integer一種操作方法,最後一位元字是n % 10, n更新為n/10,允出準則是n != 0

 1     public boolean isHappy(int n) { 2         Set<Integer> seen = new HashSet<Integer>(); 3         int sum = sumDigits(n); 4         while(!seen.contains(sum)) { 5             if(sum == 1) { 6                 return true; 7             } 8             seen.add(sum); 9             sum = sumDigits(sum);10         }11         return false;12     }13     14     private int sumDigits(int n) {15         int res = 0;16         while(n != 0) {17             res += Math.pow((n % 10), 2);18             n /= 10;19         }20         return res;21     }

 

202. Happy Number

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.