「快樂數」定義為:對於乙個正整數,每一次將該數替換為它每個位置上的數字的平方和,然後重複這個過程直到這個數變為 1,也可能是 無限迴圈 但始終變不到 1。如果 可以變為 1,那麼這個數就是快樂數。
如果 n 是快樂數就返回 true ;不是,則返回 false 。
示例:輸入:19
輸出:true
解釋:12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
不要用集合,會很長!!!
乙個快指標,乙個慢指標,如果有迴圈,終究會追上
int
bitsquaresum
(int n)
return sum;
}bool
(int n)
while
(slow != fast)
;return slow ==1;
}
尋找重複數
出自 leetcode 287,給定乙個包含 n 1 個整數的陣列 nums,其數字都在 1 到 n 之間 包括 1 和 n 可知至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。示例 1 輸入 1,3,4,2,2 輸出 2 示例 2 輸入 3,1,3,4,2 輸出 3 我想到一種和...
尋找重複數
leetcode演算法 題目 1.二分查詢 注意題目中的整數範圍1 len 1 假設陣列中的元素已經排好了順序 如果小於等於mid的個數大於mid的值,說明目標值在1 mid中間 如果小於等於mid的個數小於mid的值,說明目標值在mid right中間 class solution return ...
尋找重複數
給定乙個包含 n 1 個整數的陣列 nums 其數字都在 1 到 n 之間 包括 1 和 n 可知至少存在乙個重複的整數。假設 nums 只有 乙個重複的整數 找出 這個重複的數 示例 1 輸入 nums 1,3,4,2,2 輸出 2 示例 2 輸入 nums 3,1,3,4,2 輸出 3 示例 3...