输入:
rows_no = 7
1 2 3 4 5 6 7
2 3 4 5 6 7
3 4 5 6 7
4 5 6 7
5 6 7
6 7
7
6 7
5 6 7
4 5 6 7
3 4 5 6 7
2 3 4 5 6 7
1 2 3 4 5 6 7
# Python3 code for hour glass pattern
# Function definition
def pattern(rows_no):
# for loop for printing upper half
for i in range(1, rows_no + 1):
# printing i spaces at the
# beginning of each row
for k in range(1, i):
print(" ", end = "")
# printing i to rows value
# at the end of each row
for j in range(i, rows_no + 1):
print(j, end = " ")
print()
# for loop for printing lower half
for i in range(rows_no - 1, 0, -1):
# printing i spaces at the
# beginning of each row
for k in range(1, i):
print(" ", end = "")
# printing i to rows value
# at the end of each row
for j in range(i, rows_no + 1):
print(j, end = " ")
print()
# Driver code
# taking rows value from the user
rows_no = 7
pattern(rows_no)
# This code is contributed
# by ihritik
1 2 3 4 5 6 7
2 3 4 5 6 7
3 4 5 6 7
4 5 6 7
5 6 7
6 7
7
6 7
5 6 7
4 5 6 7
3 4 5 6 7
2 3 4 5 6 7
1 2 3 4 5 6 7
时间复杂度:
O(rows_no*rows_no),其中rows_no是从用户获取的行值。
空间复杂度:
O(1),因为我们不使用任何额外的空间。