- 0
- 0
- 约7.45千字
- 约 21页
- 2026-11-04 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为技术面试常见问题集
一、编程基础与算法(共5题,每题6分,总分30分)
1.题目:请实现一个函数,输入一个整数数组,返回该数组中的最大元素。要求时间复杂度为O(n),空间复杂度为O(1)。
答案:
c++
intfindMax(intarr[],intn){
if(n=0)return-1;//边界处理
intmax=arr[0];
for(inti=1;in;i++){
if(arr[i]max)max=arr[i];
}
returnmax;
}
解析:遍历数组一次,记录最大值。时间复杂度O(n),空间复杂度O(1)。
2.题目:请实现一个函数,判断一个字符串是否是回文串(正读反读相同)。
答案:
python
defisPalindrome(s:str)-bool:
left,right=0,len(s)-1
whileleftright:
ifs[left]!=s[right]:
returnFalse
left+=1
right-=1
returnTrue
解析:双指针法,从两端向中间遍历,时间复杂度O(n),空间复杂度O(1)。
3.题目:请实现快速排序算法。
答案:
java
voidquick
原创力文档

文档评论(0)