keep 第三题,考完试了,才调试出来~~ 求用IDE~

TMD不让用IDE,一直20%
考完试了,debug 2分钟,基本能通过各种例子~~~
大佬们看看

import java.util.*;

public class Main{

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int row = sc.nextInt();
    int col = sc.nextInt();
    int[][] status = new int[row][col];
    int[][] nums = new int[row][2];
    for (int i = 0; i < row; i++) {
        int begin = -1, end = -1;
        boolean flag = false;
        for (int j = 0; j < col; j++) {
            status[i][j] = sc.nextInt();
            if (begin == -1 && status[i][j] == 1) {
                begin = j;
                end = begin;
            }
            if (begin != -1 && status[i][j] == 0) {
                flag = true;
            }
            if (begin != -1 && status[i][j] == 1 && !flag) {
                end++;
            }
        }
        nums[i][0] = begin;
        nums[i][1] = end-1;
    }
    System.out.println(getMaxArea(nums));
}

public static int getMaxArea(int[][] nums) {
    int rows = nums.length;
    int result = 0;
    boolean flag = false;
    int l = Integer.MAX_VALUE, r = Integer.MAX_VALUE;
    for (int i = 0; i < rows - 1; i++) {
        if (nums[i][0] != -1) {
            if (flag == true) {
                l = Integer.MAX_VALUE;
                r = Integer.MAX_VALUE;
                flag = false;
            }
            if (nums[i][0] >= nums[i + 1][0] && nums[i][0] <= nums[i + 1][1]) {
                if (l == Integer.MAX_VALUE && r == Integer.MAX_VALUE) {
                    l = Math.min(nums[i][1], nums[i + 1][1]) - Math.max(nums[i][0], nums[i + 1][0]) + 1;
                    r = 2;
                } else if (!flag) {
                    int temp = Math.min(nums[i][1], nums[i + 1][1]) - Math.max(nums[i][0], nums[i + 1][0]) + 1;
                    l = Math.min(l, temp);
                    r++;
                }
                if (l != Integer.MAX_VALUE) {
                    result = Math.max(result, r * l);
                }
            } else {
                flag = true;
            }
        }
    }
    return result;
}

}

#Keep#
全部评论
80%通过率,无语
点赞 回复 分享
发布于 2018-08-23 22:27
我不知道为什么一直60%,总感觉思路没问题....
点赞 回复 分享
发布于 2018-08-23 22:21
好像还是有问题吧,main方法里获取到的num数组不一定包含最大区域吧
点赞 回复 分享
发布于 2018-08-23 22:12
能不能解释解释
点赞 回复 分享
发布于 2018-08-23 22:02
不能用IDE真的很痛苦
点赞 回复 分享
发布于 2018-08-23 21:52
又凉一家。第一题不知道怎么就是0%
点赞 回复 分享
发布于 2018-08-23 21:52
keep有没有内推?
点赞 回复 分享
发布于 2018-08-23 21:46

相关推荐

01-12 14:08
门头沟学院 Java
有寒假来武汉小米总部实习的大学生嘛,我也是小米的员工,想找合租舍友,仅限女生可免租半月,二月初可入住,也就是说房租是2.15开始算的哦~也可以将行李提前放过来~房屋介绍:1、房子情况:有电梯;租的是三室一厅一卫一厨,&nbsp;但是有个卧室比较小,不打算找人,只住两个人就可以了;衣柜也很大,可以放下很多衣服;房屋采光真的很好,早上起来可以在床上晒太阳的那种,十分惬意(夏季晚上十分好看!)2.&nbsp;楼下离我们很近的地方有小吃街和一个两层大超市(大概步行两分钟多就可以走到)&nbsp;,还有一个新开的麦当劳,晚上可以去吃小吃,购买物资也可以去大超市;3.&nbsp;房子基本设施齐备(洗衣机,冰箱,空调,油烟机,热水器);4.&nbsp;我有稳定的工作,生活中很注意卫生,周末有时间会自己做饭,可以投喂哦~5.&nbsp;出行:距离公交站步行10分钟不到,距政务中心,武汉小米总部三站(晚上我都是走回来的,很近的~);一个比较进的地铁,距离大概1km左右;出入我觉得很方便;6.&nbsp;房租:1150每月,押一付二,无物业费,也没有中介费和其他额外费用。7.&nbsp;民用水电燃气,用多少交多少,水电费正常平摊。希望你是:1.&nbsp;女生(本人女),不带异性回家,如有同性朋友来玩,最多过夜一晚;2.&nbsp;爱干净,讲卫生,作息正常,不吵闹,有稳定工作;3.&nbsp;好沟通,有任何问题一定要沟通,不要闷着!中介勿扰,非诚勿扰!!!希望不要浪费彼此的时间诚心有意向的可以联系我看房
租房找室友
点赞 评论 收藏
分享
01-12 17:45
门头沟学院 Java
叁六玖:这样的应该钱不多,以前我也被问,我在问他们实习公工资多少,一般都是2200-2800
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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