Sobes.tech
Back to tasks
Junior — Middle+
49

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

Companies where asked:

ЯндексЯндекс
Get help with live coding in real time with Sobes Copilot
Task condition

Дано:

  • 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
}