三数之和 II

https://www.lintcode.com/problem/3sum-ii/description

public class Solution {
    /**
     * @param n: an integer
     * @return: the number of solutions
     */
    public int threeSum2(int n) {
        // Write your code here
        int res = 0;
        for (int i = 0; i > -1; i++) {
            int sum = i * i;
            if (sum > n / 3) {
                break;
            }
            for (int j = i; j > -1; j++) {
                int sum2 = sum + j * j;
                if (sum2 > n * 2 / 3) {
                    break;
                }
                for (int k = j; k > -1; k++) {
                    int sum3 = sum2 + k * k;
                    if (sum3 > n) {
                        break;
                    }
                    if (sum3 == n) {
                        res++;
                    }
                }
            }
        }
        return res;
    }
}

你可能感兴趣的:(三数之和 II)