- 3
- 0
- 约9.14千字
- 约 28页
- 2026-06-30 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员面试进阶编程及逻辑题目集
一、算法设计题(3题,每题20分)
1.(20分)
题目:
给定一个包含n个整数的数组,数组中的整数可能重复。请设计一个算法,找出数组中出现次数超过?n/3?的元素,且算法的时间复杂度为O(n),空间复杂度为O(1)。
要求:
-输出所有满足条件的元素。
-如果没有满足条件的元素,则输出空列表。
示例:
输入:`nums=[3,2,3]`
输出:`[3]`
输入:`nums=[1,1,1,3,3,2,2,2]`
输出:`[1,2]`
提示:
-可以参考“多数元素”问题的扩展解法,但需处理超过?n/3?的情况。
2.(20分)
题目:
实现一个数据结构,支持以下操作:
-`add(val)`:向数据结构中添加一个元素。
-`find(target)`:返回数据结构中与`target`值相等的元素的数量。
要求:
-`add`操作的时间复杂度为O(1)。
-`find`操作的时间复杂度为O(1)。
-数据结构的空间复杂度尽可能低。
示例:
python
obj=DataStructure()
obj.add(1)
obj.add(2)
obj.add(2)
print(obj.find(2))#输出:2
print(obj.find(3))#输出:0
提
原创力文档

文档评论(0)