年龄排序(Uva 11462)
2018-03-14 21:45
253 查看
最先想到的是一个sort了事,但n<=2000000,内存限制2MB,全部存入数组肯定内存超限……
注意到整数范围在1到100之间,可以用大小为100的数组存放出现次数……#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x,a[101];
while(scanf("%d",&n)==1&&n)
{
memset(a,0,sizeof(a));
for(int i=0;i<n;i++)
{
scanf("%d",&x);
a[x]++;
}
int flag=1;
for(int i=1;i<=100;i++)
{
for(int j=0;j<a[i];j++)
{
if(flag) flag=0;
else printf(" ");
printf("%d",i);
}
}
printf("\n");
}
return 0;
}
注意到整数范围在1到100之间,可以用大小为100的数组存放出现次数……#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x,a[101];
while(scanf("%d",&n)==1&&n)
{
memset(a,0,sizeof(a));
for(int i=0;i<n;i++)
{
scanf("%d",&x);
a[x]++;
}
int flag=1;
for(int i=1;i<=100;i++)
{
for(int j=0;j<a[i];j++)
{
if(flag) flag=0;
else printf(" ");
printf("%d",i);
}
}
printf("\n");
}
return 0;
}
相关文章推荐
- 水题,优化,高效(年龄排序,uva 11462)
- uva11462 - Age Sort(年龄排序)
- UVA11462年龄排序
- UVa 11462 年龄排序 (计数排序及IO优化)
- ( 设计高效算法 ) 年龄排序 Age Sort Uva 11462
- 第一章例题17年龄排序学UVa11462(内存受限问题,计数排序)
- UVa Age Sort 11462(排序技巧)
- uva 11462 基数排序
- UVA11462——排序——Age Sort
- 最小年龄的三个职工(结构体三级排序)
- uva 11462 - Age Sort(计数排序+输入外挂)
- 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。
- 排序 UVA 10041 Vito's Family
- 给任务排序(Ordering Tasks,UVa 10305)
- 煎饼排序 (Stacks of Flapjacks, Uva 120)
- 一个公司员工年龄统计并排序
- UVA - 110 Meta-Loopless Sorts(元排序 回溯)
- Uva 10420 - List of Conquests(排序水题)
- UVa 120 Stacks of Flapjacks 【排序】
- java 策略模式,list集合,实现id 姓名年龄正序倒序排序(如果年龄或者姓名重复,按id正序排序)