用python写代码:像素世界”是一个3D游戏,玩家可以用许多个棱长是1的小正方体,在游戏空间自由创建地形。把连续的一段高度相同的部分看作一个”平台”,小蓝想知道,最长的”平台”长度是多少。 输入小正方体的列数 (墙的长度),再按从左到右的顺序,输入每列小正方体的个数(墙每列的高度),计算并输出最长”平台”的长度。
时间: 2024-02-12 13:06:40 浏览: 61
可以使用以下代码实现:
```python
n = int(input("请输入小正方体的列数:"))
heights = list(map(int, input("请输入每列小正方体的高度,用空格分隔:").split()))
max_len = 1 # 初始值为1,因为任意一个高度都可以看作是平台
cur_len = 1
for i in range(1, n):
if heights[i] == heights[i-1]: # 如果当前高度与前一个高度相同,则当前平台长度cur_len加1
cur_len += 1
else: # 如果当前高度与前一个高度不同,则更新最长平台长度max_len,同时将当前平台长度cur_len重置为1
max_len = max(max_len, cur_len)
cur_len = 1
max_len = max(max_len, cur_len) # 注意最后一段平台的长度也要统计
print("最长平台的长度为:", max_len)
```
运行示例:
```
请输入小正方体的列数:10
请输入每列小正方体的高度,用空格分隔:1 1 2 2 2 3 4 4 4 4
最长平台的长度为: 4
```
阅读全文