摘要:前言的查找常用字符給定僅有小寫字母組成的字符串數組,返回列表中的每個字符串中都顯示的全部字符包括重復字符組成的列表。
前言
Weekly Contest 126的 查找常用字符:
解題思路給定僅有小寫字母組成的字符串數組 A,返回列表中的每個字符串中都顯示的全部字符(包括重復字符)組成的列表。例如,如果一個字符在每個字符串中出現 3 次,但不是 4 次,則需要在最終答案中包含該字符 3 次。
你可以按任意順序返回答案。
示例1:
輸入:["bella","label","roller"] 輸出:["e","l","l"]示例2:
輸入:["cool","lock","cook"] 輸出:["c","o"]提示:
1 <= A.length <= 100
1 <= A[i].length <= 100
A[i][j] 是小寫字母
本題需要注意的是要輸出所有單詞中重復的字符,如果重復字符有多個就輸出對應個數。我的解題思路如下:
以單詞中的字符為key,字符在單詞中的出現次數為value的Map將每個單詞的字符及出現頻次記錄下來。
找出每個Map中key相同的元素,并以出現次數value的最小值為新的value組成重復單詞出現頻次的Map
遍歷步驟2中的Map,根據value可以得知每個單詞的出現次數,將Map轉化為一個List
實現代碼/** * 1002. 查找常用字符 * @param A * @return */ public ListcommonChars(String[] A) { // 記錄重復字符出現次數的map // key為單詞中的字符,value為單詞中該字符的出現次數 Map searchMap=new HashMap<>(); for(int i=0;i map=new HashMap<>(); for(String word:words){ if(map.containsKey(word)){ map.put(word,map.get(word)+1); }else{ map.put(word,1); } } if(i==0){//第一次遍歷時把所有字符和其對應的出現次數記錄下來 searchMap.putAll(map); }else{ Iterator > it=searchMap.entrySet().iterator(); //新的重復字符出現次數的map Map newSearchMap=new HashMap<>(); while (it.hasNext()){ Map.Entry entry=it.next(); String key=entry.getKey(); Integer value=entry.getValue(); if(map.containsKey(key)){// 在原map中存在相同字符,則將其記錄到新的map中,需要注意,以較少出現次數的準 Integer otherValue=map.get(key); newSearchMap.put(key,Math.min(value,otherValue)); } } searchMap=newSearchMap; } } List result=new ArrayList<>(); searchMap.forEach((k,v)->{//將map轉化為結果 for(int i=1;i<=v;i++){//根據出現次數value來給result添加對應個數的key result.add(k); } }); return result; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73528.html
摘要:數據庫操作數據庫連接在設置數據庫連接參數或者利用方法設置數據庫連接數據庫初始化,并取得數據庫類實例數據庫配置信息數組,可以在該方法里面進行配置數據庫查找直接操作語句描述查詢語句,然后類型語句字符串語句中綁定的字符串常用查詢語句返回所有記錄, ThinkPHP 數據庫操作 數據庫連接 #在config/database.php設置數據庫連接參數或者利用Db::connect()方法設置數...
摘要:其中代表了列的類型,表示了是否存在任何外鍵。事實上,語言會自動地識別滿足表形式的列字典,在沒有任何請求詢問下,將其轉換為表形式。結果顯示的結果永遠是一個表。被用來合并兩個具有相同列的鍵表。屬性表明對所有出現的值,相同的值都是互相鄰近的。 0. 概述 表(Tables)和列表、字典一樣,都是q語言中的第一類對象(First-class entity) Q表是*列導向的* Q表是從字典構...
閱讀 3925·2021-10-12 10:12
閱讀 2886·2021-09-10 11:18
閱讀 3673·2019-08-30 15:54
閱讀 2808·2019-08-30 15:53
閱讀 638·2019-08-30 13:54
閱讀 965·2019-08-30 13:21
閱讀 2260·2019-08-30 12:57
閱讀 1687·2019-08-30 11:10