简单排序(sort)

1. K15773 简单排序(sort)

题目描述

给定一个字符串,请将字符串中的内容,按照字符出现次数从大到小排序,出现次数相同的字母,字典序小的排在前。请你帮忙计算并输出排序后的字符串。

输入格式

输入文件名:sort.in

输入只有一行:为一个只包含英文字母与数字的字符串,长度不超过10^5。

输出格式

输出文件名:sort.out

输出只有一行:为排序后的字符串。

输入输出样例

输入样例1:复制
复制代码
happy
输出样例1:复制
复制代码
ppahy
输入样例2:复制
复制代码
123cccaaabbddd
输出样例2:复制
复制代码
aaacccdddbb123

说明

数据范围:如题目所述。

【耗时限制】1000ms 【内存限制】256MB

代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
string s;
LL cnt[130];
bool cmp(const char &x,const char &y){
    if(cnt[x]!=cnt[y]) return cnt[x]>cnt[y];
    return x<y;
}
int main()
{
    freopen("sort.in","r",stdin);
    freopen("sort.out","w",stdout);
    cin>>s;
    for(LL i=0;i<s.size();i++) cnt[s[i]]++;
    sort(s.begin(),s.end(),cmp);
    cout<<s;
    return 0;
}
相关推荐
sali-tec1 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
小明说Java1 小时前
常见排序算法的实现
数据结构·算法·排序算法
45288655上山打老虎1 小时前
C++完美转发
java·jvm·c++
行云流水20192 小时前
编程竞赛算法选择:理解时间复杂度提升解题效率
算法
SunkingYang3 小时前
程序崩溃闪退——MFC共享内存多次OpenFileMapping和MapViewOfFile而没有相应的UnmapViewOfFile和CloseHandle
c++·mfc·共享内存·崩溃·闪退·close·openfilemapping
问君能有几多愁~3 小时前
C++ 日志实现
java·前端·c++
smj2302_796826523 小时前
解决leetcode第3768题.固定长度子数组中的最小逆序对数目
python·算法·leetcode
JANGHIGH3 小时前
c++ 多线程(二)
开发语言·c++
珑墨3 小时前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
cynicme4 小时前
力扣3531——统计被覆盖的建筑
算法·leetcode