快慢指標尋找重複數

2021-10-11 04:54:30 字數 502 閱讀 3289

「快樂數」定義為:對於乙個正整數,每一次將該數替換為它每個位置上的數字的平方和,然後重複這個過程直到這個數變為 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...