计数与排序问题

2011-04-09 wcdj

 

问题描述:

将N(1<= N <= 200000)个整数从小到大连续编号,相同的数应具有相同的编号。并按这N个数输入时的顺序输出它们的编号序列。例如,设输入数据为 5 3 4 7 3 5 6,则输出数据为3 1 2 5 1 3 4。
 
【输入形式】
从标准输入读取数据。
输入包含N个数字(1<= N <= 200000),之间由空格分隔,以回车符作为结束。
 
【输出形式】
计算结果输出到标准输出。
按这N个数输入时的顺序输出它们的编号序列。每个序号之后紧跟一个空格符,最后输出回车符。
 
【输入样例】
5 3 4 7 3 5 6
 
【输出样例】
3 1 2 5 1 3 4

方法1:不排序
时间复杂度:O(N^2)

 

方法2:排序
时间复杂度:O(N*lbN)

 

方法3:使用stl中的map

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值