天天看点

030. 字符统计及重排[100 分]字符统计及重排[100 分]

字符统计及重排[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] &
           

继续阅读