35.
求乙個矩陣中最大的二維矩陣(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 55 3
思路: 可以用乙個2x2的二維矩陣從第一行開始依次遍歷直到找到和是最大的那個子矩陣,但暴力破解一般都不是最優答案。 我的想法是如果用2x2矩陣逐行遍歷的話,其實每次計算2x2矩陣的和的時候,其中的第一行其實在上次計算中已經算過了,如果計算的時候可以使用上次的結果,無疑可以改善效能,降低複雜度,所以應該將2x2矩陣的第一列快取到變數裡,每次移動視窗時,更新該變數
1package
com.rui.microsoft;23
public
class
test35_maxsubmatrix ,,};
7int res = find(a, 3, 5);
8for(int i = 0; i < res.length; i++)
12 system.out.println("");13}
14}1516
public
static
int find(int matrix, int rows, int
cols)35}
36}3738 system.out.println("max_i: " +max_i);
39 system.out.println("max_j: " +max_j);
4041 res[0][0] = matrix[max_i][max_j-1];
42 res[0][1] =matrix[max_i][max_j];
43 res[1][0] = matrix[max_i+1][max_j - 1];
44 res[1][1] = matrix[max_i+1][max_j];
4546
return
res;47}
48 }
35 求乙個矩陣中最大的二維矩陣
求1個矩陣中最大的二維矩陣 1。單就這一題來說,首先方法就是遍歷 include using namespace std int a 5 int m 3 int n 5 void max matrix void cout 矩陣是 1 1 s 1 s 1 int main void 還有1種情況,給定...
微軟面試100題演算法(1)實現乙個字元匹配
問題 實現乙個挺高階的字元匹配演算法 給一串很長字串,要求找到符合要求的字串,例如目的串 123 1 3 2 12 3這些都要找出來 其實就是類似一些和諧系統。分析 這題的真正意思就是,給你乙個目標串,如 123 只要乙個字串裡面同時包含1 2和3,那麼這個字串就匹配了。系統越和諧,說明錯殺的可能行...
實現乙個佇列 微軟面試100題 第三十四題
題目要求 實現乙個佇列。佇列的應用場景是 乙個生產者執行緒將int型的數入列,乙個消費者執行緒將int型的數出列。參考資料 程式設計之美1.10 題目分析 可以按照作業系統中的生產者與消費者模型來實現 大致思路如下 void producer void void consumer void 實現 思...