Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
Чем Луа лучше Пайтона и наоборот? Буду использовать в целях написания сценариев.
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
Задачка на JavaScript
bulgakovog
Знаток
(386), на голосовании
1 год назад
Напишите функцию layout, которая будет заполнять эту сетку сверху вниз таким образом, чтобы не образовывались пустоты
Функция на вход принимает массив уникальных блоков
Сетка может быть разной ширины
Блок имеет свой уникальный номер
Форма блока произвольная, ширина всегда равна ширине сетки
Блоки имеют возможность перевернуться, чтобы встроиться в сетку
После того, как все блоки выстроятся, в компоненте не должно остаться пустот
Сайдбар всегда заполняется полностью (висящих пустот на любом наборе данных не будет)
Функция должна возвращать отчет о порядке выставления блоков и манипуляций с их поворотами
interface Block {
id: number;
form: number[][];
}
interface LayoutResult {
blockId: number;
position: number;
isRotated: boolean;
}
function layout(blocks: Block[]): LayoutResult[] {
// code
}
Решение должно представлять из себя Node.js модуль, экспортирующий функцию layout.
module.exports = function layout(blocks) { /* ... */ }
Голосование за лучший ответ
Мирджавад Сулейманов
Ученик
(105)
1 год назад
Привет, смог решить задачу ?
Похожие вопросы
Функция на вход принимает массив уникальных блоков
Сетка может быть разной ширины
Блок имеет свой уникальный номер
Форма блока произвольная, ширина всегда равна ширине сетки
Блоки имеют возможность перевернуться, чтобы встроиться в сетку
После того, как все блоки выстроятся, в компоненте не должно остаться пустот
Сайдбар всегда заполняется полностью (висящих пустот на любом наборе данных не будет)
Функция должна возвращать отчет о порядке выставления блоков и манипуляций с их поворотами
interface Block {
id: number;
form: number[][];
}
interface LayoutResult {
blockId: number;
position: number;
isRotated: boolean;
}
function layout(blocks: Block[]): LayoutResult[] {
// code
}
Решение должно представлять из себя Node.js модуль, экспортирующий функцию layout.
module.exports = function layout(blocks) { /* ... */ }