用dict就不会越界了。 你的代码第6行的val会大于等于li,就越界了。 以下来源自代码提交常见问题 Q:为什么代码在我本机可以通过,提交到牛客网总是提示答案错误 A:牛客网的每个编程题都有10-50组测试数据,你的代码在本机可以通过仅仅是通过了样例数据,可能存在边界条件考虑不周导致更多的测试数据没有通过,所以会返回答案错误。