普通网友 2021-05-03 19:19 采纳率: 90%
浏览 196
已结题

车牌统计 C++/C

车牌统计

时间限制:1秒 内存限制:128M

题目描述

小计喜欢研究数字,他手记了N块车牌,想研究数字0~9中某两个数字相邻出现使用在车牌上的次数。

比如:68出现在100块车牌上、44出现在0块车牌上。

由于车牌太多希望你变成帮助他完成研究,并输出最多出现的车牌数。

输入描述

第1行,一个整数N,范围[1.. 100000];

下面有N行,每行是大写字母和数字组成的字符串,长度不超过10。

输出描述

某两个数字相邻出现在车牌的最多数

样例

输入

4
YE5777
YB5677
YC8367
YA77B3

输出

3

代码在平台测试为错误50%,不知道哪里错了,请指点

#include<iostream>
#include<string>
using namespace std;
struct node{
	string a;
}c[100001];
int main(){
	int n,cnt[11]={0};
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>c[i].a;
		for(int j=0;j<c[i].a.size();j++){
			if(c[i].a[j]>='0'&&c[i].a[j]<='9'){
				cnt[c[i].a[j]-'0']++;
			}
		}
	}
	int maxcnt=0,max=-1999,count[100001];
	for(int i=0;i<=9;i++){
		if(cnt[i]>max){
			max=cnt[i];
			maxcnt=i;
		}
	}
	char a=maxcnt+'0';
	for(int i=0;i<n;i++){
		for(int j=0;j<c[i].a.size();j++){
			if(c[i].a[j]==a){
				count[i]++;
			}
		}
	}
	max=-1999;
	for(int i=0;i<n;i++){
		if(max<count[i]){
			max=count[i];
		}
	}
	cout<<max;
	return 0;
}
  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2021-05-04 08:41
    关注

    没看懂你的思路。我的想法是定义一个大小为100的整数数组,分别统计从00到99的两个数字出现的车牌数 车牌进行遍历,找出所有相邻都是数字的两位数,对应的统计数加1即可。注意,同一车牌要避免重复数累加,如777,就只能给77加1个车牌计数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月7日
  • 已采纳回答 2月27日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀