Задать вопрос
Xeroxed
@Xeroxed
Senior javascript developer

Как найти подряд три идущих единицы с использованием битовой логики?

Каким способом и или алгоритмом можно найти три подряд идущих единицы с использованием побитовой логики? Если можно, то с учётом как горизонтального, так и вертикального ряда.

var Map = [
  [0, 0, 1, 1, 1, 0, 0, 1],
  [0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 1, 0, 0, 0, 0, 0],
  [0, 0, 1, 0, 0, 0, 0, 0],
  [0, 0, 1, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 1, 0, 0, 0, 0, 0],
  [0, 0, 1, 0, 0, 0, 0, 0]
];
  • Вопрос задан
  • 1534 просмотра
Подписаться 3 Оценить 4 комментария
Ответ пользователя evgeniy_lm К ответам на вопрос (6)
@evgeniy_lm
На любом языке высокого уровня ваша "битовая логика" будет работать медленнее и выглядеть уродливо чем примитивное целочисленное суммирование.
i := 0;
j := 0;
repeat
repeat
s := 0;
for k := 0 to 2 do
s := s + arr[j, i +k];
inc(i);
until (i < 5) and (s > 0) ;
inc(j);
until (j <= High(arr)) and (s > 0) ;
Ответ написан
Комментировать