Problème
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.
Contraintes
1 ≤ size ≤ 50
Exemples
Entrée :
size = 4
Sortie attendue :
expected = ["****", "* *", "* *", "****"]
Entrée :
long long size = 4;
Sortie attendue :
std::vector<std::string> expected = {"****", "* *", "* *", "****"};
Entrée :
long size = 4;
Sortie attendue :
string[] expected = new string[] {"****", "* *", "* *", "****"};
Explication
Rows are "****", "* *", "* *", "****".
Entrée :
size = 1
Sortie attendue :
expected = ["*"]
Entrée :
long long size = 1;
Sortie attendue :
std::vector<std::string> expected = {"*"};
Entrée :
long size = 1;
Sortie attendue :
string[] expected = new string[] {"*"};
Explication
A 1×1 square is a single "*".
Comment l'aborder
Essayez d'abord seul, puis ouvrez les indices un par un.
Indice 1
Le contour est rempli, tandis que l’intérieur reste vide.
Indice 2
Traite la première et la dernière ligne différemment des lignes du milieu.
Indice 3
Pour une taille de 1, la seule case est à la fois bord et coin, donc elle doit être remplie.
Complexité attendue
temps O(size^2), espace supplémentaire O(size^2)
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.