Description:

由于龙王阿尔法有天然对群龙的意念操控能力,往往阿尔法走到哪,它的周围一圈都会有各种各样的龙绕着它飞行。
现在,身为年轻英勇的维京勇士小嗝嗝的你,想知道究竟有多少只飞龙环绕阿尔法。问题如下:给你一串字符串由“A-Z”组成代表不同类型的飞龙。比如“BCABCA”,你需要以JHL统计法来统计下每个字母的数量,即输出每个字母的数量在这个字母之前,比如答案为“2A2B2C”。(答案按照字典序输出,即答案不能为2B2C2A)

Input:

第一行输入一个T(T<=500)表明有T组测试样例,在每个测试样例中,输入一个字符串,不超过1000个字母,保证都为大写字母

Sample Input:

1
ABCABC

Sample Output:

2A2B2C

我的代码:

#include<iostream>
#include<algorithm>
using namespace std;typedef struct Node {char c;int num = 0;
}list;int search(char c, list a[], int p) {for (int i = 0; i < p; ++i)if (a[i].c == c) return i;return -1;
}bool cmp(list a, list b) {return (int)a.c < (int)b.c;
}int main() {int n;cin >> n;while (n--) {string s;cin >> s;list a[1000];int p = 0;for (int i = 0; i < s.size(); ++i) {int temp = search(s[i], a, p);if (temp == -1) {a[p].c = s[i];a[p].num++;p++;}else {a[temp].num++;}}sort(a, a + p, cmp);for (int i = 0; i < p; ++i)cout << a[i].num << a[i].c;cout << endl;}
}

然后我看了别人的ac代码,用的是散列表,定义一个26大小的数组,0号存储A出现的次数,以此类推,输出前也不用排序了,好厉害。反正就26个英语字母,题目告诉全都是大写就是表示可以用散列表。散列表ac代码:

#include<iostream>
using namespace std;int main() {int n;cin >> n;while (n--) {int graph[26] = { 0 };string s;cin >> s;for (int i = 0; i < s.size(); ++i)graph[s[i] - (int)'A']++;for (int i = 0; i < 26; ++i) {if (graph[i] == 0) continue;cout << graph[i] << (char)('A' + i);}cout << endl;}
}

JLH统计法统计飞龙相关推荐

  1. JLH统计法统计飞龙(C++) kkmd66

    Description: 由于龙王阿尔法有天然对群龙的意念操控能力,往往阿尔法走到哪,它的周围一圈都会有各种各样的龙绕着它飞行. 现在,身为年轻英勇的维京勇士小嗝嗝的你,想知道究竟有多少只飞龙环绕阿尔 ...

  2. 《数字图像处理》第12讲——图像表示与描述

    目录 12.1表示方法 ①链码 ②多边形近似 点合成法 边分裂法 ③外形特征 ④边界分段 ⑤区域骨架 12.2边界描述 ①简单描述子 ②形状数 ③傅里叶描述子 ④矩量 12.3区域描述 ①简单描绘子 ...

  3. 全国农村固定观察点调查体系是1984年经中共中央书记处批准建立的,于1986年正式运行至今。全国农村固定观察点调查统计制度根据《中华人民共和国统计法》的有关规定制定,由国家统计局正式批准实施。目前,本

    全国农村固定观察点调查体系是1984年经中共中央书记处批准建立的,于1986年正式运行至今.全国农村固定观察点调查统计制度根据<中华人民共和国统计法>的有关规定制定,由国家统计局正式批准实 ...

  4. mapinfo常用功能系列讲解——(3)统计线段长度(SQL统计法)

    目录 创建图层 2.创建字段 3.保存 4.多个需要计算的图层合并为1个图层

  5. 【Android】最近做的一个Android平台下时间统计工具

    最近在完成实验室的项目之后花了一点时间弄了一个小应用.因为自己也算是手机重度手机依赖患者,平时虽然玩手机时间不长,但是很频繁,所以一直想要知道自己每天打开手机多少次,用了哪些应用,以及每个应用花了多少 ...

  6. Oracle数据库的数据统计(Analyze)

    http://blog.chinaunix.net/space.php?uid=10597892&do=blog&id=2946800 Oracle数据的优化器有两种优化方法:基于代价 ...

  7. 电子商务时代企业统计的发展方向

    摘要:电子商务的出现,对现代企业产生了巨大的影响.它从多个方面影响着现代企业的发展,其中即有机遇也有挑战.文章将从企业统计面临的理论.职能.组织等方面的困境,阐述电子商务的影响. 一.企业统计工作面临 ...

  8. 03|复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?

    目录 为什么需要复杂度分析? 大 O 复杂度表示法 时间复杂度分析 几种常见时间复杂度 空间复杂度分析 为什么需要复杂度分析? 事后统计法:代码跑一遍,通过统计.监控,就能得到算法执行的时间和占用的内 ...

  9. 截流式合流制设计流量计算_截流式合流制截污管设计污水量的实测统计方法

    是在河涌两岸沿线敷设截污管 , 把截流 的污 水转 输 图 1 第一种截污管敷设方式示意 图 2 第二种截污管敷设方式示意 到污水处理厂进行处理 . 这两种方式都属于截流式 合流制排水系统 . 1. ...

最新文章

  1. express的cookie解析和签名源码解析
  2. java自动生成数据库代码
  3. oracle 填入编号,sql – 带填充模式的Oracle to_char格式编号(FM0000)
  4. 初识ajaxpro以及使用
  5. java中遍历树形菜单,你可能不知道还有这样的方法
  6. linux的accept函数源码,accept函数
  7. iPhone成交额2秒破亿!京东11.11晚8点战报:5分钟家电成交额破20亿
  8. 几个MATLAB中的函数
  9. Java 堆排序(大根堆及小根堆)
  10. 面试案例-String Interpolation的实现(Java实现)
  11. angularjs技术
  12. 大话设计模式之爱你一万年:大话设计模式之爱你一万年由来
  13. PHP导入Excel文件后缀xlsx与xls的处理问题
  14. python 变量大小,进程和内存信息
  15. SLAM导航机器人零基础实战系列:(四)差分底盘设计——2.stm32主控软件设计
  16. Basler 多个网口相机出图(SDK版)
  17. 实用的git操作记录
  18. cocos2dx 编译android-studio nkd报错的解决方法
  19. 一些Java实用技巧(量变转变为质变后会单独整理出来)
  20. “人肉搜索”成网络暴力3大悬念?

热门文章

  1. Method findById should have no parameters
  2. 《EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES》阅读笔记
  3. rebase interactive
  4. Chpater2.3 执行AD HOC命令
  5. 国家英语四级考试词组
  6. Mac桌面壁纸文件如何提取里面的壁纸图片?heic动态桌面壁纸怎么导出jpg的图片形式?
  7. 用计算机观察声音的波形,用几何画板观察声音的波形
  8. POJ - 3069 Saruman's Army 萨鲁曼的大军 贪心 重庆一中高2018级竞赛班第三次测试 2016.7.24 Problem 2
  9. 评估期已过。有关如何升级您的测试版软件的信息 请访问
  10. signature=cb30417dfa65eef445418827e0f0e0e6,以太坊P2P网络节点初始化