leetcode (Happy Number)
阿新 • • 發佈:2018-12-28
Title:Happy Number 202
Difficulty:Easy
原題leetcode地址: https://leetcode.com/problems/happy-number/
1. 見程式碼註釋
時間複雜度:O(n),一次一層for迴圈。
空間複雜度:O(n),申請Set空間。
/** * 如果最後不為1,最後會收斂某個數,用Set的唯一性存放這個數 * @param n * @return */ public static boolean isHappy(int n) { if (n < 1) { return false; } Set<Integer> set = new HashSet<>(); while (n != 0 && !set.contains(n)) { set.add(n); String s = n + ""; char nums[] = s.toCharArray(); int total = 0; for (int num : nums) { int i = num - 48; total += i * i; } n = total; } return n == 1; }