Назад к задачам
Junior — Middle+
8

Вычисление окончательных ширин дочерних элементов внутри контейнера

Компании, где спрашивали:

ЯндексЯндекс
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дано:

  • parentWidth — общая ширина родительского контейнера.
  • childSpecs — список спецификаций ширин дочерних View, представленных целыми числами, где:
    • Если childSpecs[i] ≥ 0, то соответствующая View имеет фиксированную ширину, равную этому значению.
    • Если childSpecs[i] < 0, то это коэффициент, определяющий долю от оставшегося после размещения всех фиксированных View свободного пространства parentWidth. Необходимо рассчитать итоговые ширины всех View. Пример: measureWidths(100, listOf(50, -3, -2)) должно вернуть listOf(50, 30, 20).
fun measureWidths(parentWidth: Int, childSpecs: List<Int>): List<Int> {
 // your code
}