问题描述
- 请教一个算法问题时间复杂度要求是(1)
-
做项目的时候有一个处理大致是这样的:需要每次插入map;每次输入是(1,0),(2,0),(3,0);(2,1),(3,1)。。。当key是新添加的或者key对应的count大于前一次就要把这个key拿出来,时间复杂度要求是O(1), 请教大家有没有好的方法
解决方案
不可能事件复杂度是1,最低是LogN,不过这个很接近1了。除非你有无限制的内存,然后直接地址映射。
解决方案二:
一个数组中只有0,1,2三个元素,进行排序,要求时间复杂度为O(n)
解决方案三:
一般用hash,不过占用空间大,近O(1)
时间: 2024-10-04 09:39:45