日常練習13 前K個高頻單詞

2021-09-27 04:40:48 字數 1045 閱讀 1001

1.給一非空的單詞列表,返回前 k 個出現次數最多的單詞。

返回的答案應該按單詞出現頻率由高到低排序。如果不同的單詞有相同出現頻率,按字母順序排序。

力扣題:

思路:1.統計每個單詞出現的次數 wordtocount

2.得到,每個出現次數下,有哪些單詞

3.取出所有的次數[2,1]並對其排序

4.招聘人

招聘3人,先按照分數從高到低選人

如果當前分數下的人數小於等於還差人數,全選進來

public class p4 

}//統計單詞出現的次數

mapcount(string words)

return wordtocount;

}//每個次數 ——>那些單詞

private static map> remap(mapwordtocount)

wordlist.add(word);

}return counttowordlist;

}//先確定單詞對應—>次數 ,再反轉次數—>單詞,獲取出現頻數最高的前k個且按字母順序有序排列列印

public listtopkfrequent(string words,int k)

arrays.sort(counts);

//錄取名單

listresult = new arraylist<>();

int j = 0; //已錄取的名單

int index = counts.length - 1; //當前選擇的分數,因為從小到大排序

comparatorcomparator = new stringcomparator(); //按照字母順序排序

while(j < k)else

}return result;

}public static void main(string args) ;

listr = new p4().topkfrequent(words,3);

system.out.println(r);

}}

前k個高頻單詞

題目 給一非空的單詞列表,返回前 k 個出現次數最多的單詞。返回的答案應該按單詞出現頻率由高到低排序。如果不同的單詞有相同出現頻率,按字母順序排序。示例 1 輸入 i love leetcode i love coding k 2 輸出 i love 解析 i 和 love 為出現次數最多的兩個單詞...

前K個高頻單詞

解題思路 static class mycomparator implements comparator override public intcompare string o1,string o2 o1 o1 o2返回 0 o1 o2返回0 count1 count2公升序排序 count2 co...

前K個高頻單詞

題目鏈結 public static listtopkfrequent string words,int k set set hashmap.entryset list list new arraylist set collections.sort list,new comparator int c...