- 0
- 0
- 约7.48千字
- 约 18页
- 2026-03-17 发布于未知
- 举报
2026年华为软件开发工程师校招笔试模拟题及答案
编程题(25分)
题目描述:某5G基站在连续n秒内采集了信号强度数据,存储为数组`signal`(元素为整数)。现需找出所有长度为k的连续子数组中,信号强度波动最小的那个子数组(波动定义为子数组最大值与最小值的差)。若有多个波动相同的子数组,返回起始索引最小的那个。
输入:第一行两个整数n和k(2≤k≤n≤10^5);第二行n个整数,表示signal数组。
输出:一个整数,即目标子数组的起始索引(索引从0开始)。
示例输入:
63
314256
示例输出:
1
解答思路:
要高效计算滑动窗口内的最大值和最小值,常规的遍历每个窗口并排序的方法时间复杂度为O(nk),无法处理n=1e5的情况。因此需使用双端队列(单调队列)维护窗口内的极值。具体步骤如下:
1.维护最大值队列:队列头部为当前窗口最大值的索引。新元素进入窗口时,若队列尾部元素小于等于当前元素,则弹出尾部(因为这些元素不可能成为后续窗口的最大值),再将当前元素索引加入队列。同时,若队列头部索引超出窗口左边界,弹出头部。
2.维护最小值队列:逻辑类似,队列头部为当前窗口最小值的索引,新元素进入窗口时,弹出尾部大于等于当前元素的索引。
3.遍历窗口:从第k-1个元素开始(窗口首次完整),计算每个窗口的波动(最大值-最小值),记录最小波动对应的起始索引。
代码实现:
```python
deffind_min_fluctuation(n,k,signal):
fromcollectionsimportdeque
max_q=deque()
min_q=deque()
min_fluctuation=float(inf)
result=0
foriinrange(n):
维护最大值队列
whilemax_qandsignal[i]=signal[max_q[-1]]:
max_q.pop()
max_q.append(i)
维护最小值队列
whilemin_qandsignal[i]=signal[min_q[-1]]:
min_q.pop()
min_q.append(i)
窗口左边界超出队列头部时,弹出
whilemax_q[0]=i-k:
max_q.popleft()
whilemin_q[0]=i-k:
min_q.popleft()
当窗口长度达到k时计算波动
ifi=k-1:
current_fluctuation=signal[max_q[0]]-signal[min_q[0]]
ifcurrent_fluctuationmin_fluctuation:
min_fluctuation=current_fluctuation
result=i-k+1起始索引为i-k+1
elifcurrent_fluctuation==min_fluctuation:
取起始索引更小的
result=min(result,i-k+1)
returnresult
测试示例
n,k=6,3
signal=[3,1,4,2,5,6]
print(find_min_fluctuation(n,k,signal))输出1
```
复杂度分析:每个元素最多入队和出队一次,时间复杂度为O(n),空间复杂度O(k)。
算法设计题(30分)
题目描述:华为物联网平台每日接收10亿条设备上报的时间戳(单位:毫秒,类型为long),需对这些时间戳进行去重并排序。要求:
-内存限制:不超过2GB(假设可用内存为2GB,系统其他进程占用500MB);
-输出:排序后的去重时间戳列表。
解答要求:
1.设计具体的处理流程;
2.说明关键步骤的实现方法;
3.分析时间复杂度和空间复杂度。
解答思路:
10亿条时间戳,每条占8字节
您可能关注的文档
- 2026年护士执业资格实践能力核心试题及答案.docx
- 2026年护士执业资格证专业技能试题集及答案.docx
- 2026年护士职业发展与资格证考试试题及答案.docx
- 2026年护士职业考试题库及答案.docx
- 2026年护士职业能力要求评估题及答案.docx
- 2026年护士职业资格考试试卷及答案.docx
- 2026年护士质控面试题及答案.docx
- 2026年护士准入考试试题及答案.docx
- 2026年护士资格《护理伦理与法规》测试卷及答案.docx
- 2026年护士资格《主管护师》练习题及答案.docx
- 2026年云南公务员考试《行政职业能力测验》(QQ类)全真模拟.docx
- 2026年安徽省公务员考试《申论》(乡村振兴专题)模拟卷.docx
- 2026年西藏公务员考试《申论》(社会治理)模拟卷.docx
- 2026年辽宁省市机关《行政职业能力测验》(言语理解卷)真题汇编.docx
- 2026年安徽省公务员考试《行政职业能力测验》(省直机关卷)模拟练习.docx
- 2026年湖北省公务员考试《行政职业能力测验》(县乡级)真题解析.docx
- 2026年江西省公务员考试《行政职业能力测验》( D类卷)模拟题.docx
- 2026年河北省公务员考试《行政职业能力测验》(D类·乡镇)真题卷.docx
- 2026年安徽公务员考试《行政职业能力测验》(C类卷)预测题.docx
- 2026年黑龙江公务员考试《行政职业能力测验》(Y类)真题解析.docx
原创力文档

文档评论(0)