天天看點

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] &
           

繼續閱讀