使用java語言,輸入一串?dāng)?shù)字,求,各個(gè)數(shù)字出現(xiàn)的次數(shù),并按出現(xiàn)次數(shù)的大小進(jìn)行排序。例如,輸入次數(shù):1 2 3 4 2 12輸出:2出現(xiàn)次數(shù)3,1出現(xiàn)次數(shù)2,3出現(xiàn)次數(shù)1,4出現(xiàn)次數(shù)1(不要用Collections.sort() )
1 回答

HUWWW
TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
循環(huán)map, 用map的key值存到數(shù)組里面, 然后可以循環(huán)數(shù)組冒泡排序;
判斷里寫 map.get(array[i]) 比較map對(duì)應(yīng)的value值, 然后對(duì)應(yīng)array中的key換位,
可能說的不太明白, 就是數(shù)組里存的其實(shí)是map的key值,
比如之前冒泡排序是if(array[i] < array[i+1])
現(xiàn)在是if(map.get(array[i]) < map.get(array[i+1]))
判斷里面還是不變:
String temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
這樣就是把數(shù)組中key值的順序換了, 最后排序完
循環(huán)array; 輸出map.get(array[i])就是了
添加回答
舉報(bào)
0/150
提交
取消