Был задан этот вопрос в цикле кодирования:
Учитывая матрицу из 0 и 1, где, в любой строке - значения будут в порядке возрастания. т.е. 1 всегда после 0. Рассмотрим пример:
0,0,0,1,1
0,0,1,1,1
0,0,0,0,1
1,1,1,1,1
0,0,0,0,0
Найдите первый столбец с 1. ( слева - справа )
В этом случае первый столбец ( в строке 4 ) есть 1. Ответ: 1
Я предложил мудрый обход столбцов по всем строкам и завершился, когда текущий столбец встречает 1 в любой из строк.
Поскольку производительность в худшем случае равна n * n (при сравнении каждого элемента в матрице), интервьюер был недоволен и искал эффективное решение - что такое эффективное решение здесь?