溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用java找出最大正方形

發(fā)布時間:2022-01-17 14:29:55 來源:億速云 閱讀:113 作者:清風 欄目:大數據

這篇文章主要為大家展示了如何使用java找出最大正方形,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學習一下“如何使用java找出最大正方形”這篇文章吧。

在一個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,并返回其面積。

示例:

輸入:

1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0

輸出: 4

答案:

 1public int maximalSquare(char[][] matrix) {
2    if (matrix == null || matrix.length == 0 || matrix[0].length == 0)
3        return 0;
4    int[][] temp = new int[matrix.length + 1][matrix[0].length + 1];
5    int max = 0;
6    for (int i = 1; i <= matrix.length; i++) {
7        for (int j = 1; j <= matrix[0].length; j++) {
8            if (matrix[i - 1][j - 1] == '1') {
9                temp[i][j] = Math.min(temp[i - 1][j], Math.min(temp[i - 1][j - 1], temp[i][j - 1])) + 1;
10                max = Math.max(max, temp[i][j]);
11            }
12        }
13    }
14    return max * max;
15}
16

解析:

如果當前位置是1,我們只需要判斷他的左邊,上邊,左上邊的最小值即可。這個其實也很容易理解,因為正方形只要他的上下左右4個點有一個有缺陷就不能構成正方形。

Java的優(yōu)點是什么

1. 簡單,只需理解基本的概念,就可以編寫適合于各種情況的應用程序;2. 面向對象;3. 分布性,Java是面向網絡的語言;4. 魯棒性,java提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易產生的錯誤。;5. 安全性,用于網絡、分布環(huán)境下的Java必須防止病毒的入侵。6. 體系結構中立,只要安裝了Java運行時系統(tǒng),就可在任意處理器上運行。7. 可移植性,Java可以方便地移植到網絡上的不同機器。8.解釋執(zhí)行,Java解釋器直接對Java字節(jié)碼進行解釋執(zhí)行。

以上就是關于“如何使用java找出最大正方形”的內容,如果該文章對您有所幫助并覺得寫得不錯,勞請分享給您的好友一起學習新知識,若想了解更多相關知識內容,請多多關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI