博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu-1800
阅读量:6942 次
发布时间:2019-06-27

本文共 1086 字,大约阅读时间需要 3 分钟。

思路:

这题被坑的不轻。

首先花了一段时间想明白了思路是要找出现次数最多数字,以为这题就这样解决了,结果发现每个数字的最大长度是30,long long都装不下,因此就要用字符串来保存处理。然后在insert的时候进行一下计数就可以了

最关键的地方是struct内的构造函数中,在初始化next数组的时候,一定要面面俱到!不然漏掉哪个,如果没有初始化,就相当于为空指针,就会出现内存泄露,就因为这点被卡了好久。

 

AC代码:

#include 
#include
#define max(a,b) (a)>(b)?(a):(b)using namespace std;struct node{ int e; node* next[11]; node():e(0){ for(int i = 0;i <= 10;i++) next[i] = 0; }};node* root;int ans;void insert(char* s){ int n; node* p = root; for(;*s!='\0';s++) { n = *s-'0'; if(p->next[n] == 0) p->next[n] = new node(); p = p->next[n]; } p->e++; ans = max(ans,p->e);}int main(){ int j; int n; while(cin>>n) { ans = 0; root = new node(); char str[37]; for(int i = 1;i <= n;i++) { cin>>str; for(j = 0;j < strlen(str);j++) if(str[j] != '0') break; insert(&str[j]); } cout<
<

 

转载于:https://www.cnblogs.com/immortal-worm/p/5202916.html

你可能感兴趣的文章
WrapPanel流布局的一个简单例子
查看>>
MYSQL多实例配置与使用教程
查看>>
3.4 spring- lookup-method 子元素的使用与解析
查看>>
UVA 350 Pseudo-Random Numbers
查看>>
打回来
查看>>
iOS7滑动返回
查看>>
《图形学》实验六:中点Bresenham算法画圆
查看>>
ruby里面module和class的区别
查看>>
[ Talk is Cheap Show me the CODE ] : jQuery Mobile工具栏
查看>>
vc++加载透明png图片方法-GDI+和CImage两种
查看>>
【Unity技能】做一个简单的NPC
查看>>
基于System Generator实现Xilinx FPAG VGA显示
查看>>
CocoaPods 第三方库管理器
查看>>
SQLServer BCP 命令的使用
查看>>
在sd卡,创建目录和文件
查看>>
Discuz 楼主帖子采集
查看>>
十五天精通WCF——第十二天 说说wcf中的那几种序列化
查看>>
sqlldr并发
查看>>
C# 通过反射来动态创建泛型类型
查看>>
zabbix 的安装
查看>>