计数与排序问题

来源:互联网 发布:mysql求和语句 编辑:程序博客网 时间:2024/05/16 06:23

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

 

 

 

 

 

 

 

 

 

 

原创粉丝点击