【算法学习记录-散列】【PAT B1043】输出PATest
【算法学习记录-散列】【PAT B1043】输出PATest
给定一个长度不超过1的、仅由英文字母构成的字符串。请将字符重新调整顺序,按PATestPATest....
这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过1的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
思路:
0、乍一看会被题目描述的“请将字符串调整顺序”“忽略其他字符”“请按PATest顺序输出”“六种字符个数不一”吓到,其实这题比之前的散列题都要简单的多
1、整体思路
以arr[6]统计6种字符出现的次数,再while循环,按PATest顺序输出,每输出一个字符arr[i]--,减到0时停止该字符的输出
2、题解代码
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 using namespace std; 5 6 int main() { 7 8 int arr[6]; 9 for (int i = 0; i < 6; i++) { 10 arr[i] = 0; 11 } 12 13 char str[10010]; 14 cin>>str; 15 int len = strlen(str); 16 for (int i = 0; i < len; i++) { 17 if (str[i] == 'P') { 18 arr[0]++; 19 } else if (str[i] == 'A') { 20 arr[1]++; 21 } else if (str[i] == 'T') { 22 arr[2]++; 23 } else if (str[i] == 'e') { 24 arr[3]++; 25 } else if (str[i] == 's') { 26 arr[4]++; 27 } else if (str[i] == 't') { 28 arr[5]++; 29 } 30 } 31 32 while (arr[0] != 0 || arr[1] != 0 || arr[2] != 0 || arr[3] != 0 || arr[4] != 0 || arr[5] != 0) { 33 if (arr[0] != 0) { 34 printf("P"); 35 arr[0]--; 36 } 37 if (arr[1] != 0) { 38 printf("A"); 39 arr[1]--; 40 } 41 if (arr[2] != 0) { 42 printf("T"); 43 arr[2]--; 44 } 45 if (arr[3] != 0) { 46 printf("e"); 47 arr[3]--; 48 } 49 if (arr[4] != 0) { 50 printf("s"); 51 arr[4]--; 52 } 53 if (arr[5] != 0) { 54 printf("t"); 55 arr[5]--; 56 } 57 } 58 59 return 0; 60 }
【算法学习记录-散列】【PAT B1043】输出PATest 相关文章
- Python深度学习笔记09--使用Keras建立循环神经网络
6.2 理解循环神经网络 6.2.1 Keras中的循环层: 1 from keras.layers import SimpleRNN 2 3 from keras.models import Sequential 4 from keras.layers import Embedding, SimpleRNN 5 6 model = Sequential() 7 model.add(Embedding(10000, 32)) 8 model.ad
- hologres使用记录
1.hologres相关概念 Hologres是阿里巴巴自主研发的一款交互式分析产品,兼容PostgreSQL 11协议,与大数据生态无缝连接,支持高并发和低延时地分析处理PB级数据。 功能: 1)加速查询MaxCompute数据 Hologres与MaxCompute在底层无缝连接,您无须移动数据,即
- 2020ASE-课程总结
围绕课程理论学习和课程项目实践,总结自己的学习心得体会,整理自己的收获。 在课程之初,正式开始项目之前,写了这门课的第一篇博客——期望与笃信;对自己进行了简单的剖析并提出了自己的目标以及方案计划;总结起来就是,寻求三个方面能力的提升 团队协
- 替罪羊树学习笔记
Part 0 引子 我们都知道,有一种东西叫 BST。 我们都知道,BST 在极限数据会卡爆。 我们都知道,为了让 BST 不被卡,有很多种平衡树。 但你知道有一种平衡树好写速度快吗那就是替罪羊树。 Part 1 替罪羊树平衡的原理 替罪羊树是一种平衡树,一种平衡的 BST。
- Python深度学习笔记08--处理文本数据的常用方法
6.1 处理文本数据 6.1.1 单词和字符的one-hot编码 (1)单词级的one-hot编码: 1 # 单词级的one-hot编码 2 import numpy as np 3 4 # 初始数据:每个样本是列表的一个元素(本例中的样本是一个句子,但也可以是一整篇文档) 5 samples = ['The cat sat on the ma
- 图机器学习有多大神力一文带你回顾2020展望2021
编辑:keyu 来源:新智元 【导读】 近两年,图机器学习可谓是机器学习研究领域的新星,随着模型的更新和应用的推广,越来越多的人开始把注意力转向了这一方向。过去一年中,图机器学习在哪方面有突破呢,在未来的一年中,哪些分支和方向会成为新的研究趋势呢
- 综述:图像滤波常用算法实现及原理解析
前言 本文介绍四种常见的图像滤波算法,并附上源码。图像滤波是一种非常重要的图像处理技术,现在大火的卷积神经网络其实也是滤波的一种,都是用卷积核去提取图像的特征模式。不过,传统的滤波,使用的卷积核是固定的参数,是由经验非常丰富的人去手动设计的
- STL源码剖析-容器priority_queue-heap(算法)
heap heap的实现就是数据结构中的 堆 (大顶堆、小顶堆)。STL提供 max-heap 。 STL中并没有把 heap 作为一种容器组件,heap的实现亦需要更低一层的容器组件,诸如list,array,vector。heap并不属于STL容器,但它是其中一个容器 priority queue 必不可少的
- 字符串学习
跟着老师视频看字符串的时候出现一个问题; gets();函数已经被弃用了;导致编译器无法识别它。 gets() 函数在ISO/IEC 9899 2011(C11)标准中被移除, 用一个新的更安全的函数gets_s()替代; 不得不说互联网技术真的永无止境的前进嗯。 #includeiostreamusing
- JUnit学习笔记
junit学习笔记 不影响原有类的情况下,生成测试类。 IDEA下载插件 插件名字为JUnitGeneratorV2.0 方法 Setting选项中的Plugins里搜索下载 Setting选项中的JUnnit Generator中的Output Path配置测试类存放位置 ${SOURCEPATH}/../test/${PACKAGE}/${FILENAME}