不确定是否算暴力解题

最大正方形

http://www.nowcoder.com/questionTerminal/0058c4092cec44c2975e38223f10470e

从最理想的正方形开始依次寻找;

        for (int length = Math.min(arr.length, arr[0].length); length > 1; length--) {
            for (int y = 0, y_length = arr.length; y < y_length - length + 1; y++) {
                for (int x = 0, x_length = arr[y].length; x < x_length - length + 1; x++) {
                    if (validate(length, arr, x, y)) {
                        System.out.println("size = " + length * length);
                        return;
                    }
                }
            }
        }
        System.out.println("size = 1");

接着是一个用来验证当前长度是否符合正方形要求的逻辑

    private static boolean validate(int length, int[][] arr, int x, int y){
        for (int i = y, i_l = y+length; i < i_l; i++) {
            for (int j = x, j_l = x+length; j < j_l; j++) {
                if (arr[i][j] != 1) return false;
            }
        }
        return true;
    }
全部评论

相关推荐

03-02 08:18
集美大学 Java
钱嘛数字而已:没有赛事奖项么?另外,项目经历字有点多哈,建议突出一下重点:用的什么技术,解决什么问题,达到什么效果。
大家都开始春招面试了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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