1. 程式人生 > 實用技巧 >如何在資料庫遷移中保證資料一致性?

如何在資料庫遷移中保證資料一致性?

一、題目描述

二、解法

class Solution {
    public boolean isHappy(int n) {
        /**
         * 方法1:用Set檢測迴圈
         */
        /*Set<Integer> set = new HashSet<>();
        while (n != 1) {
            if (set.contains(n)) { //如果存在,說明陷入了死迴圈
                return false;
            }
            set.add(n);
            n = squareSum(n);
        }
        return true;
*/ /** * 方法2:類似於快慢指標的思想。 * 慢指標每次做一次轉換,快指標每次做兩次轉換 * 如果出現死迴圈,那麼快的指標(值)一定會追上慢的指標(值) * 如果沒有迴圈重複,那麼最後快慢指標也會相等,且都等於1。 */ int fast = squareSum(n); int slow = n; while (fast != 1 && fast != slow) { fast
= squareSum(squareSum(fast)); slow = squareSum(slow); } return fast == 1; } // 把一個數替換成每一位的平方和 private int squareSum(int num) { int res = 0; while (num != 0) { // 一定要牢記程式碼實現取出各個位數字的思路 int temp = num % 10; num /= 10; res
+= temp * temp; } return res; } }