Мне нужно эффективно устранить (обнулить) последовательные «1» между «-1» в каждом столбце матрицы A, которые теперь могут быть разделены любыми нулями.Число последовательных «1» между «-1» составляет> N. Это нетривиальное обобщение моего предыдущего Вопрос .
Опять же, типичный размер (A) = [100000, 1000].
См. Пример:
A =
1 -1 0
0 1 1
0 1 1
1 1 0
0 0 1
1 -1 0
-1 1 1
-1 0 -1
1 1 1
0 1 -1
Для N = 2 ожидаемый результат равен
Aclean =
0 -1 0
0 0 0
0 0 0
0 0 0
0 0 0
0 -1 0
-1 0 0
-1 0 -1
1 0 1
0 0 -1
Для N = 3 ожидаемый результат равен
Aclean =
1 -1 0
0 1 0
0 1 0
1 1 0
0 0 0
1 -1 0
-1 1 0
-1 0 -1
1 1 1
0 1 -1