滴滴笔试第一题为什么80%

话不多说,先看代码,这样总是会有数组越界的bug。。咋回事,大神来看看
public class SubMax { public static void main(String[] args) {
        Scanner in = new Scanner(System.in); while (in.hasNext()) { int n = in.nextInt(); int arr[] = new int[n]; int dp[] = new int[n]; for (int i = 0; i < n; i++) {
                arr[i] = in.nextInt();
                dp[i] = arr[i];
            } for (int i = 1; i < n; i++) {
                dp[i] = Math.max(arr[i]+dp[i-1],arr[i]);
            } long max = Integer.MIN_VALUE; for (int i = 0; i < n; i++) { if (max > arr[i])
                    max = arr[i];
            } for (int i = 0; i < n; i++) { if (max < dp[i])
                    max = dp[i];
            }
            System.out.println(max);
        }
    }
}


全部评论
全负数情况么考虑?
点赞 回复 分享
发布于 2016-09-07 13:25
要对n进行判断,如果n<=0,那么直接跳回输入
点赞 回复 分享
发布于 2016-09-06 21:45
叶神说测试数据有超过int的
点赞 回复 分享
发布于 2016-09-06 21:14
点赞 回复 分享
发布于 2016-09-06 21:14
全为负数考虑了么
点赞 回复 分享
发布于 2016-09-06 21:13

相关推荐

06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
frutiger:逆天,我家就安阳的,这hr咋能说3k的,你送外卖不比这工资高得多?还说大厂来的6k,打发叫花子的呢?这hr是怎么做到说昧良心的话的
找工作时遇到的神仙HR
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务