成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

1002-查找常用字符

winterdawn / 3165人閱讀

摘要:前言的查找常用字符給定僅有小寫字母組成的字符串數(shù)組,返回列表中的每個字符串中都顯示的全部字符包括重復字符組成的列表。

前言

Weekly Contest 126的 查找常用字符:

</>復制代碼

  1. 給定僅有小寫字母組成的字符串數(shù)組 A,返回列表中的每個字符串中都顯示的全部字符(包括重復字符)組成的列表。例如,如果一個字符在每個字符串中出現(xiàn) 3 次,但不是 4 次,則需要在最終答案中包含該字符 3 次。

  2. 你可以按任意順序返回答案。

  3. 示例1:

  4. </>復制代碼

    1. 輸入:["bella","label","roller"]
    2. 輸出:["e","l","l"]
  5. 示例2:

  6. </>復制代碼

    1. 輸入:["cool","lock","cook"]
    2. 輸出:["c","o"]
  7. 提示:

  8. 1 <= A.length <= 100

  9. 1 <= A[i].length <= 100

  10. A[i][j] 是小寫字母

解題思路

本題需要注意的是要輸出所有單詞中重復的字符,如果重復字符有多個就輸出對應個數(shù)。我的解題思路如下:

以單詞中的字符為key,字符在單詞中的出現(xiàn)次數(shù)為valueMap將每個單詞的字符及出現(xiàn)頻次記錄下來。

找出每個Mapkey相同的元素,并以出現(xiàn)次數(shù)value的最小值為新的value組成重復單詞出現(xiàn)頻次的Map

遍歷步驟2中的Map,根據(jù)value可以得知每個單詞的出現(xiàn)次數(shù),將Map轉(zhuǎn)化為一個List

實現(xiàn)代碼

</>復制代碼

  1. /**
  2. * 1002. 查找常用字符
  3. * @param A
  4. * @return
  5. */
  6. public List commonChars(String[] A) {
  7. // 記錄重復字符出現(xiàn)次數(shù)的map
  8. // key為單詞中的字符,value為單詞中該字符的出現(xiàn)次數(shù)
  9. Map searchMap=new HashMap<>();
  10. for(int i=0;i map=new HashMap<>();
  11. for(String word:words){
  12. if(map.containsKey(word)){
  13. map.put(word,map.get(word)+1);
  14. }else{
  15. map.put(word,1);
  16. }
  17. }
  18. if(i==0){//第一次遍歷時把所有字符和其對應的出現(xiàn)次數(shù)記錄下來
  19. searchMap.putAll(map);
  20. }else{
  21. Iterator> it=searchMap.entrySet().iterator();
  22. //新的重復字符出現(xiàn)次數(shù)的map
  23. Map newSearchMap=new HashMap<>();
  24. while (it.hasNext()){
  25. Map.Entry entry=it.next();
  26. String key=entry.getKey();
  27. Integer value=entry.getValue();
  28. if(map.containsKey(key)){// 在原map中存在相同字符,則將其記錄到新的map中,需要注意,以較少出現(xiàn)次數(shù)的準
  29. Integer otherValue=map.get(key);
  30. newSearchMap.put(key,Math.min(value,otherValue));
  31. }
  32. }
  33. searchMap=newSearchMap;
  34. }
  35. }
  36. List result=new ArrayList<>();
  37. searchMap.forEach((k,v)->{//將map轉(zhuǎn)化為結(jié)果
  38. for(int i=1;i<=v;i++){//根據(jù)出現(xiàn)次數(shù)value來給result添加對應個數(shù)的key
  39. result.add(k);
  40. }
  41. });
  42. return result;
  43. }

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73528.html

相關文章

  • TP5學習記錄(Model篇)

    摘要:數(shù)據(jù)庫操作數(shù)據(jù)庫連接在設置數(shù)據(jù)庫連接參數(shù)或者利用方法設置數(shù)據(jù)庫連接數(shù)據(jù)庫初始化,并取得數(shù)據(jù)庫類實例數(shù)據(jù)庫配置信息數(shù)組,可以在該方法里面進行配置數(shù)據(jù)庫查找直接操作語句描述查詢語句,然后類型語句字符串語句中綁定的字符串常用查詢語句返回所有記錄, ThinkPHP 數(shù)據(jù)庫操作 數(shù)據(jù)庫連接 #在config/database.php設置數(shù)據(jù)庫連接參數(shù)或者利用Db::connect()方法設置數(shù)...

    bingo 評論0 收藏0
  • 8. Q語言學習之路—表

    摘要:其中代表了列的類型,表示了是否存在任何外鍵。事實上,語言會自動地識別滿足表形式的列字典,在沒有任何請求詢問下,將其轉(zhuǎn)換為表形式。結(jié)果顯示的結(jié)果永遠是一個表。被用來合并兩個具有相同列的鍵表。屬性表明對所有出現(xiàn)的值,相同的值都是互相鄰近的。 0. 概述 表(Tables)和列表、字典一樣,都是q語言中的第一類對象(First-class entity) Q表是*列導向的* Q表是從字典構(gòu)...

    syoya 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<