- 1
- 0
- 约7.56千字
- 约 19页
- 2026-11-05 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为软件开发工程师面试技巧及答案
一、编程能力测试(共5题,每题20分,总分100分)
1.题目:
请实现一个函数,输入一个整数数组,返回数组中所有唯一数字的和。例如,输入`[1,2,3,2,4]`,返回`10`(即`1+3+4`)。要求时间复杂度O(n)。
答案:
java
publicintsumUnique(int[]nums){
SetIntegerseen=newHashSet();
SetIntegerunique=newHashSet();
for(intnum:nums){
if(seen.contains(num)){
unique.remove(num);
}else{
seen.add(num);
unique.add(num);
}
}
intsum=0;
for(intnum:unique){
sum+=num;
}
returnsum;
}
解析:
使用两个集合`seen`和`unique`,`seen`记录所有出现过的数字,`unique`记录当前唯一的数字。遍历数组时,如果数字在`seen`中已存在,则从`unique`中移除;否则,将其加入`seen`和`unique`。最后,计
原创力文档

文档评论(0)