有一個字串 s 和一個名稱陣列 l。
我想計算可以創建多少個帶有字串 S 字符的給定陣列的名稱。
例如)
String s = "LILLYBILLYBOO";
String[] l = {"BILL", "MARIA", "LILLY"};
通過String s 的字母表可以使BILL 兩次,MARIA 零,LILLY 一次。
所以預期的回傳值為{2,0,1}。
除了拆分為所有字符之外,還有什么方法可以用 StringUtils 或其他方法解決這個問題?
uj5u.com熱心網友回復:
相當簡單的方法(無需為您撰寫代碼):
Map<Character, Long>在您的情況下,從您的字母表中計算 a :
{
'L': 5,
'I': 2,
'Y': 2,
'B': 2,
'O': 2
}
- 對于陣列中的每個單詞,計算相同型別的
Map. - 檢查每個陣列單詞中的每個鍵
Map并跟蹤最小值。如果陣列 words 中的任何字符不在您的字母表中Map,那么答案是0。Character否則,它是在所有s 中找到的最小值。除以陣列中的數字時要小心謹慎'Map(例如處理兩個L'BILL)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/437447.html
下一篇:如何使用模式從字串中獲取特定資料
