文章

28

粉丝

0

获赞

98

访问

3.6k

头像
字符游戏 题解:(两种方法)暴力强解法 以及 前后比较法
P1520 云南大学机试题
发布于2025年3月19日 11:20
阅读数 117

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
string s;
cin>>s;
stable_sort(s.begin(),s.end()); //除了vector容器外,string也可以用begin(),而不是长度;
int count=0;//用于记录字母数量;
for(int i=0;i<26;i++)
{
int count=0;//用于记录字母数量;
for(int j=0;j<n;j++)
{
	if(char('a'+i)==s[j])
	{
		count++;
	}
}
	if(count>0 &&(count%5==0 ||count%7==0))
	{
		'a'+i;
		cout<<char('a'+i)<<" "<<count<<endl;
	}
}

}
	
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	string s;
	cin>>s;
	stable_sort(s.begin(),s.end());
	int count=1;
	int k=0;
    for(int i=1;i<n;i++)
    {
    	if(s[k]==s[i])
    	{
    		count++;
		}
		if(s[k]!=s[i]||i==n-1) //判断是否为最后一个元素,然后进行倍数判断
		{
		    
			if(count%5==0||count%7==0)
			{   
				cout<<s[i-1]<<" "<<count<<endl;
				
			}
			k=i;
			count=1;
		}
	}

}   

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发