字符统计及重排[100 分]
题目描述
给出⼀个仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分⼤⼩写)出现的次数,并按照字母出现次数从⼤到⼩的顺序输出各个字母及其出现次数。如果次数相同,按照⾃然顺序进行排序,且⼩写字母在⼤写字母之前。
输入描述
输⼊⼀⾏,为⼀个仅包含字母的字符串。
输出描述
按照字母出现次数从⼤到⼩的顺序输出各个字母和字母次数,⽤英⽂分号分隔,注意末尾的分号;字母和次数间⽤英⽂冒号分隔。
示例 1
- 输入
xyxyXX
- 输出
x:2;y:2;X:2
解题思路
var charStatustic = function (str) {
let strArr = str.split("");
strArr = [...new Set(strArr)];
for (let i = 0; i < strArr.length; i++) {
let sum = 0;
for (let j = 0; j < str.length; j++) {
if (strArr[i] === str[j]) {
sum++;
}
}
strArr[i] = strArr[i] &