Легко Решено: 0 Процент решений: 0%

Hollow Square

Draw the outline of a square with * characters.

Чему вы научитесь

  • Рисовать рамку символами
  • Определять первые и последние строки и столбцы
  • Строить строки по одной

Условие

Draw a hollow square of side size: the first and last rows are all *, and the rows in between have * only at the two ends with spaces inside.

Implement hollow_square(size).

Input

size: The side length.

Output

Return the rows from top to bottom.

Ограничения

1 ≤ size ≤ 50

Примеры

Пример 1
Ввод:
size = 4

Ожидаемый вывод:
expected = ["****", "*  *", "*  *", "****"]
Ввод:
long long size = 4;

Ожидаемый вывод:
std::vector<std::string> expected = {"****", "*  *", "*  *", "****"};
Ввод:
long size = 4;

Ожидаемый вывод:
string[] expected = new string[] {"****", "*  *", "*  *", "****"};

Пояснение

Rows are "****", "* *", "* *", "****".

Пример 2
Ввод:
size = 1

Ожидаемый вывод:
expected = ["*"]
Ввод:
long long size = 1;

Ожидаемый вывод:
std::vector<std::string> expected = {"*"};
Ввод:
long size = 1;

Ожидаемый вывод:
string[] expected = new string[] {"*"};

Пояснение

A 1×1 square is a single "*".

Как подступиться

Сначала попробуйте сами, затем открывайте подсказки по одной.

Подсказка 1

Граница заполнена, а внутри остаётся пусто.

Подсказка 2

Первую и последнюю строки обрабатывайте иначе, чем средние.

Подсказка 3

Для размера 1 единственная ячейка одновременно и граница, и угол, значит она должна быть заполнена.

Ожидаемая сложность

время O(size^2), доп. память O(size^2)

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.