春招学习第二天(2/30)

Java的8种基本数据类型

起因是今天加一个群问JAVA有多少种基本类型,我只记得有8种但就是答不全……人傻了。看来自己的基础还有待加强啊。
关于Java的8种基本数据类型,其名称、位数、默认值、取值范围及示例如下表所示:

序号 数据类型 位数 默认值 取值范围 举例说明
1 byte(位) 8 0 -2^7 - 2^7-1 byte b = 10;
2 short(短整数) 16 0 -2^15 - 2^15-1 short s = 10;
3 int(整数) 32 0 -2^31 - 2^31-1 int i = 10;
4 long(长整数) 64 0 -2^63 - 2^63-1 long l = 10l;
5 float(单精度) 32 0.0 -2^31 - 2^31-1 float f = 10.0f;
6 double(双精度) 64 0.0 -2^63 - 2^63-1 double d = 10.0d;
7 char(字符) 16 0 - 2^16-1 char c = 'c';
8 boolean(布尔值) 8 false true、false boolean b = true;

不过我偶然之间看到了这个。

偶然发现

这说明了什么?说明不学习就会大脑迟钝,而越学习,人会变得越来越聪明。所以我认为,学习最好一天也不能中断。

85. 最大矩形 (力扣每日一题)

给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

示例 1:
输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
输出:6
图片说明
解释:最大矩形如上图所示。

AC代码:

具体思路是这样的:暴力所有可能的矩形面积,然后得到最大的那个,不过无脑暴力应该是不能过的。所以需要先加工一下,建立一个DP二维数组,每一个数放置从左而来连续1的个数,然后我们以遍历的数为矩形的右下角进行遍历,每一次遍历当前坐标所有高度的矩形。最后得到结果。

时间复杂度:遍历数组使用n*m。每一个坐标点遍历所有矩形面具使用n。总的复杂度就是O(n²m)。
空间复杂度:使用额外n*m数组即O(nm);

    public int maximalRectangle(char[][] matrix) {
        if (matrix.length==0||matrix[0].length==0){
            return 0;
        }
        int maxArea=Integer.MIN_VALUE;
        int minWidth;
        int[][] dp = new int[matrix.length][matrix[0].length];
        for (int i = 0; i <matrix.length ; i++) {
            for (int j = 0; j <matrix[0].length ; j++) {
                if (matrix[i][j]=='1'){
                    if (j==0){
                        dp[i][j]=1;
                    }
                    else{
                        dp[i][j]=dp[i][j-1]+1;
                    }
                }
                else{
                    dp[i][j]=0;
                }
                minWidth=dp[i][j];
                for (int k = i; k >=0 ; k--) {
                    int height=i-k+1;

                    minWidth= Math.min(minWidth,dp[k][j]);
                    //System.out.println("i: "+i+"j: "+j+"k: "+k+"height: "+height+"minWidth: "+minWidth);
                    maxArea= Math.max(maxArea,minWidth*height);
                }
            }
            //System.out.println(Arrays.toString(dp[i]));
        }
        return maxArea;
    }
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务