Программа Javascript для проверки того, можно ли преобразовать все элементы массива в пронические числа путем вращения цифр

Опубликовано: 2 Сентября, 2022

Учитывая массив arr[] размера N , задача состоит в том, чтобы проверить, возможно ли преобразовать все элементы массива в проническое число, вращая цифры элементов массива любое количество раз.

Примеры:

Input: {321, 402, 246, 299} 
Output: True 
Explanation: 
arr[0] → Right rotation once modifies arr[0] to 132 (= 11 × 12). 
arr[1] → Right rotation once modifies arr[0] to 240 (= 15 × 16). 
arr[2] → Right rotation twice modifies arr[2] to 462 (= 21 × 22). 
arr[3] → Right rotation twice modifies arr[3] to 992 (= 31 × 32).

Input: {433, 653, 402, 186}
Output: False

Подход: выполните следующие шаги, чтобы решить проблему:

  • Пройдите массив и проверьте для каждого элемента массива, возможно ли преобразовать его в проническое число.
  • Для каждого элемента массива примените все возможные повороты и после каждого поворота проверяйте, является ли сгенерированное число проническим или нет.
  • Если невозможно преобразовать какой-либо элемент массива в проническое число, выведите «False» .
  • В противном случае выведите «True» .

Ниже приведена реализация вышеуказанного подхода:

Временная сложность: O(N 3/2 )
Вспомогательное пространство: O(1)

Пожалуйста, обратитесь к полной статье о проверке, можно ли преобразовать все элементы массива в пронические числа путем вращения цифр для получения более подробной информации!