有乙個單詞清單,請設計乙個高效演算法,計算由清單中單詞組成的最大子矩陣,要求矩陣中的行和列都是清單中的單詞。
給定乙個string陣列dic,代表單詞清單,同時給定清單的大小n,請返回最大子矩陣的面積。保證單詞清單的大小小於等於50,且某一長度的串的數量小於等於12。
測試樣例:
["aaa","aaa","aaa","bb","bb"]
返回:9
解析:其實是最長連續子串行的變形。矩陣行列都相同,意味著需要找到序列中字串全部相同的最長子序列。兩層迴圈,內層迴圈從i+1開始查詢,碰到不同的字串就break。最後用乙個臨時變數存放子串行的最大面積,長 = 子串行長度,寬 = 字串長度。
tips:由於序列中重複的字串肯定比較多,所以用乙個used陣列存放查詢過的字串可以提高時間效率。
**:
public int findalphamatrix(string dic, int n)
used.add(cur);
int count = 1;
for (int j = i + 1; j < n; ++j)
++count;
}ret = math.max(ret, count * cur.length());
}return ret;
}
最大欄位和
include include include include include using namespace std 最大欄位和問題描述 給定n個整數 可能為負數 組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的子段和的最大值。當所給的整均為負數時定義子段和為0,...
最大欄位和
1049 最大子段和 難度 基礎題 n個整數組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的連續子段和的最大值。當所給的整數均為負數時和為0。例如 2,11,4,13,5,2,和最大的子段為 11,4,13。和為20。input 第1行 整數序列的長度n 2 n 5...
查詢最大字元
對於輸入的每個字串,查詢其中的最大字母,在該字母後面插入字串 max 輸入資料報括多個測試例項,每個例項由一行長度不超過100的字串組成,字串僅由大小寫字母構成。對於每個測試例項輸出一行字串,輸出的結果是插入字串 max 後的結果,如果存在多個最大的字母,就在每乙個最大字母後面都插入 max abc...