Выбор ответа Junior Матрицы обновлено
Индекс в плоском массиве
Вопрос
Матрица m × n хранится построчно в одномерном массиве. Какой индекс у элемента (r, c)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: r n + c. Перед строкой r лежат r полных строк по n элементов: r n + c.
Варианты ответа
r * m + cr * n + cправильный ответc * n + rr + c
Разбор
Перед строкой r лежат r полных строк по n элементов: r * n + c. Обратно: r = Math.floor(i / n), c = i % n. Так делают бинпоиск по матрице, где строки продолжают друг друга.
r * mумножает на число строк, а не на длину строки.c * n + rэто хранение по столбцам, причём с неверным множителем.r + cдаёт одинаковый индекс разным клеткам.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.