Skip to content

Instantly share code, notes, and snippets.

@Stmol
Created January 21, 2024 10:06
Show Gist options
  • Save Stmol/4063de510ec1132cb5975ccbabe08000 to your computer and use it in GitHub Desktop.
Save Stmol/4063de510ec1132cb5975ccbabe08000 to your computer and use it in GitHub Desktop.
//
// 1. Дано N ячеек с произвольным содержимым (content: number)
//
// 2. На вход поступает содержимое произвольной длины (number)
//
// 3. Нужно распределить входящее содержимое по ячейкам так, чтобы сначала заполнить наиболее полные ячейки
//
// 4. Если места не хватает, надо упасть с ошибкой
//
// Например:
//
// - Имеем 2 ячеки, одну пустую и одну с содержимым 1
// [{ content: 1 }, { content: 0}]
//
// - Максимум каждая ячейка вмещает по 3 единицы содержимого:
// capacity: 3
//
// - Нужно добавить содержимое длиной 4. Тогда результат для данного примера будет таким:
// [{ content: 3 }, { content: 1 }]
//
function put(content, cells, capacity) {}
var cells = [
{ content: 1 },
{ content: 3 },
{ content: 0 },
{ content: 2 },
]
var capacity = 4;
var content = 8;
var result = [
{ content: 4 },
{ content: 4 },
{ content: 2 },
{ content: 4 },
]
assertEqual(put(content, cells, capacity), result);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment