最大字母矩陣

2021-08-18 18:26:26 字數 673 閱讀 5445

有乙個單詞清單,請設計乙個高效演算法,計算由清單中單詞組成的最大子矩陣,要求矩陣中的行和列都是清單中的單詞。

給定乙個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...