All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0601_0700.s0633_sum_of_square_numbers.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0601_0700.s0633_sum_of_square_numbers;

// #Medium #Math #Binary_Search #Two_Pointers #Binary_Search_I_Day_10
// #2022_03_21_Time_4_ms_(82.92%)_Space_40.6_MB_(62.43%)

/**
 * 633 - Sum of Square Numbers\.
 *
 * Medium
 *
 * Given a non-negative integer `c`, decide whether there're two integers `a` and `b` such that a2 + b2 = c.
 *
 * **Example 1:**
 *
 * **Input:** c = 5
 *
 * **Output:** true
 *
 * **Explanation:** 1 \* 1 + 2 \* 2 = 5
 *
 * **Example 2:**
 *
 * **Input:** c = 3
 *
 * **Output:** false
 *
 * **Constraints:**
 *
 * *   0 <= c <= 231 - 1
**/
public class Solution {
    public boolean judgeSquareSum(int c) {
        int right = (int) Math.sqrt(c);
        int left = (int) Math.sqrt((double) c / 2);
        for (int i = left; i <= right; i++) {
            int j = (int) Math.sqrt(c - (double) (i * i));
            if (i * i + j * j == c) {
                return true;
            }
        }
        return false;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy