题解 | #字符统计#

字符统计

http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

一维哈希
空间复杂度高但不用动脑
/*HJ102字符统计
输入一个只包含小写英文字母和数字的字符串,
按照不同字符统计个数由多到少输出统计结果,如
果统计的个数相同,则按照ASCII码由小到大排序输出。*/
#include <iostream>
using namespace std;
int main()
{
	int a[75]={0};
	string str;
	string str1="";
	char pp;
	getline(cin,str);
	int l=str.length();
	for(int i=0;i<l;i++)
	{
		if(a[str[i]-'0']==0) str1+=str[i];//加入不重复元素 
		a[str[i]-'0']++;
		
	}
	for(int t=1;t<str1.length();t++)//冒泡排序 
	for(int j=0;j<str1.length()-t;j++)
	{
		if(a[str1[j]-'0']<a[str1[j+1]-'0'])//次数 
		{
			pp=str1[j];str1[j]=str1[j+1];str1[j+1]=pp;
		}
	}
	
	for(int t=1;t<str1.length();t++)//冒泡排序 
	for(int j=0;j<str1.length()-t;j++)
	{
		if(a[str1[j]-'0']==a[str1[j+1]-'0'])
		{			
			if(str1[j]>str1[j+1]) //ASCII
			{
				pp=str1[j];str1[j]=str1[j+1];str1[j+1]=pp;
			}
		}
	}
	cout<<str1<<endl; 
//	for(int i=0;i<75;i++)
//	cout<<a[i]<<" ";
} 


全部评论

相关推荐

03-21 10:53
复旦大学 Java
大家好,我是@程序员花海,眼下&nbsp;26&nbsp;届春招、27&nbsp;届暑期实习全面开启,后端卷到没边,AI&nbsp;Agent的岗位占主导,很多牛友在我的评论区留言,想让我出一份Agent学习路线。我特意去看了下,打开淘天的招聘页面,以校招为例,一眼望去全是AI相关的岗位,只能说之后绝大多数岗位都会快速推进AI的落地和实践。之前写过&nbsp;Java&nbsp;后端&nbsp;3&nbsp;个月抢救路线https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users,也收到了牛友们的强烈好评,这次专门给后端转&nbsp;Agent做一套最少必要知识路线——&nbsp;不堆概念、不啃论文,只学面试必问、项目...
在职牛马didi:这篇路线整理得很系统,把后端知识映射到Agent体系这个思路特别实用。我自己也是从Java转做AI的,感触很深:工程底子扎实的人转Agent确实有优势,RAG和工具编排这些核心能力本质上都是后端逻辑的延伸。我们团队在做天猫的AI应用落地,方向跟你这篇路线里的企业级RAG和Agent系统很接近。暑期实习还在招AI应用研发工程师,JD可以参考看看跟你背景是否匹配:https://www.nowcoder.com/jobs/detail/440929?jobId=440929
软件开发投递记录
点赞 评论 收藏
分享
03-01 19:30
已编辑
南京大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务