Сумма квадратов
Доно неотрицательное целое число
c, нужно определить, существуюь ли два целых числа a иb, что a2 + b2 = c.
Пример 1:
Дано: 5 Ответ: True Пояснение: 1 * 1 + 2 * 2 = 5
Пример 2:
Дано: 3 Ответ: FalseКомпилируемое решение
public class Solution {
public boolean judgeSquareSum(int c) {
for (long a = 0; a * a <= c; a++) {
double b = Math.sqrt(c - a * a);
if (b == (int) b)
return true;
}
return false;
}
}
Анализ сложности
- Сложность по времени : . Мы ищем среди значений, чтобы определить . Для каждого выбранного , нахождение квадратного корня из занимает времени в худшем случае.
- Сложность по памяти : . Постоянное количество переменных используется.
Комментарии
Отправить комментарий