你有一个长度为m的正整数序列,下表从1开始。对于这个序列,你需要统计整个序列的数字种类数,记种类数为m,之后对于每一种数字x,记其出现次数为Cx,设函数f(x)表示在序列中从左到右第⌈Cx/2⌉个数字x对应的下标(⌈y⌉表示对y向上取整,例如⌈0.5⌉=1,⌈2⌉=2)。最后你需要将所有f(x)按从小到大的顺序输出出来。
存储结构
1.要统计每个数字出现次数,可以使用一个哈希表counter存储,结构为<key = int , value = int>
由于数字大小(值域)只有10000 , 那么我们可以直接开一个大小为10000的数组(或者一个哈希表) positions,而每一个数组(哈希表的value) positions[x] 是一个可变长的数组,存储每个数组的下标。结构为<key = int , value = int[]>
模拟
本题属于以下题库,请选择所需题库进行购买