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