n = int(input()) m = list(map(int, input().split())) cnt = 1 ans = 1 for i in range(len(m)): if m[i+1] == m[i] + 1: cnt+=1 if cnt > ans: ans = cnt else: cnt = 0 print(ans)优化代码,解决list out of index
时间: 2024-04-12 18:29:45 浏览: 79
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
要解决列表越界的问题,你可以在循环中将 `range(len(m))` 改为 `range(len(m)-1)`,以避免在 `m[i+1]` 时超出索引范围。此外,你还可以删除 `cnt` 变量,并使用 `ans` 变量来记录连续递增的最大长度。下面是优化后的代码:
```python
n = int(input())
m = list(map(int, input().split()))
ans = 1
for i in range(len(m)-1):
if m[i+1] == m[i] + 1:
ans += 1
else:
ans = 1
print(ans)
```
这样修改后,代码将不会出现列表越界的问题,并能正确计算出连续递增的最大长度。
阅读全文