POJ3253问题 有几行代码大神不理解 求大神讲解 谢谢啦?

首先我不明白你为什么会有数据

如果你指的是poj给出的样例数据的话,这又不代表是最终过的测试数据

你的程序的错误之处就是在标记num[a[i]]的时候,多判断了a[i]<=500000也就是说,茬运算的时候a[i]可能大于500000,而且你仍需要标记

最简单的改法是你把程序里的两个a[i]<=500000的条件都删掉,然后把num数组开到左右

这样就能AC了,但昰还有一个细节最好也注意一下:最好把循环终值处定位500000然后a数组多开至少一位。因为现在你的程序没有计算a[500000]值(虽然poj的数据里没有这個值)

你对这个回答的评价是

首先我不明白你为什么会有数据

如果你指的是poj给出的样例数据的话,这又不代表是最终过的测试数据

你的程序的错误之处就是在标记num[a[i]]的时候,多判断了a[i]<=500000也就是说,茬运算的时候a[i]可能大于500000,而且你仍需要标记

最简单的改法是你把程序里的两个a[i]<=500000的条件都删掉,然后把num数组开到左右

这样就能AC了,但昰还有一个细节最好也注意一下:最好把循环终值处定位500000然后a数组多开至少一位。因为现在你的程序没有计算a[500000]值(虽然poj的数据里没有这個值)

我要回帖

更多关于 代码大神 的文章

 

随机推荐