0
0 Комментариев

Есть два массива (ниже a и b) с произвольными положительными числами. Вообще говоря, они не обязательно целые, но если вдруг требуется, можно добавить и такое условие. Требуется получить третий массив (ниже — c), в котором:

  • c(i) = 1, если (первая цифра в b(i) > первой цифры в a(i) И длина целой части a(i) == длине целой части b(i)) или длина целой части b(i) больше длины целой части a(i);
  • c(i) = -1, в аналогичной ситуации, только a(i) и b(i) меняются местами;
  • c(i) = 0 во всех остальных случаях.

Интересует, по возможности, максимально эффективный по быстродействию алгоритм.

import numpy as np
 
a = np.array([11, 17, 183, 736, 89, 107, 1231, 1928])
b = np.array([10, 21, 179, 799, 81, 99,  1971, 2010])
 
c = np.array([0, 1, 0, 0, 0, -1, 0, 1])


Добавить комментарий