Учитывая список, проверьте, существует ли такое сочетание элементов, что a² + b² = c², где a, b и c — разные элементы в списке.

nums = [1, 2, 3]
--> expect False
nums = [1, 2, 3, 4, 5]
--> expect True (3^2 + 4^2 = 5^2)
nums = [3, 5, 12, 5, 13]
--> expect True (5^2 + 12^2 = 13^2)

Рассуждение

Нам нужно проверить все комбинации пар all combinations of (a, b) по квадрату каждого элемента в списке c^2. Формирование комбинаций пар будет занимать время O(n²). Чтобы проверить, соответствует ли сумма квадратов комбинации квадрату элемента в списке, мы можем сначала сохранить квадрат элементов списка в хеш-наборе, чтобы время проверки было O (1).

Решение в коде

Вот и все. Надеюсь, вам понравилось.

Спасибо.

Вечнозеленое кодирование