栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

6.27 名字的漂亮度

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

6.27 名字的漂亮度

名字的漂亮度_牛客题霸_牛客网 (nowcoder.com)

蓝桥杯之后马上期末考试 平常不听课 期末各种找资源背题库 25号之后才恢复正常刷题 。

同时因为很多因素,省赛的ACM队伍要退掉了。五味杂陈。

说正事:

题目很简单,出现最多的单词 *的权重越大

任务分成三块

统计

排序

加权

统计

统计采用桶排做的,在统计的时候没有做大小写处理,这个任务留到了排序里面去做 。

排序

使用堆去做 (这里感觉可以优化)理论上堆排序和sort不差多少 ,直接用堆应该要慢一点,不懂STL但是这里肯定会有内存的多次申请和释放,开一个数组(多次使用)sort肯定会快一点

加权

int quan=26

while(堆.size()){

按堆顶*quan

quan–;

堆.pop()

}

源码
#include
#include
#include
#include
#include
using namespace std;

string a;
const int maxn=130;
priority_queue< int,vector,less > q;
int t[maxn]{0};

int main(){
 int T;cin>>T;
    while(T--){
        memset(t,0,sizeof(t));
        cin>>a;
        for(int i=0;i
          t[a[i]]++;
        }
        for(int i=0;i<27;i++){
            q.push({t['a'+i]+t['A'+i]});
        }
        int quan=26;
        int ans=0;
        while(q.size()){
            ans+=quan*q.top();
            quan--;
            q.pop();
        }
        cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995133.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号