- 0
- 0
- 约9.22千字
- 约 24页
- 2026-01-27 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年计算机工程师面试题集
一、编程语言基础(共5题,每题10分,总分50分)
题目1(10分)
请用C++实现一个函数,该函数接收一个整数数组和一个目标值,返回数组中和为目标值的两个数。你可以假设每个输入都只会有一个解,且不能重复使用相同的元素。
cpp
includeiostream
includevector
includeunordered_map
usingnamespacestd;
vectorinttwoSum(vectorintnums,inttarget){
unordered_mapint,intnumMap;
vectorintresult;
for(inti=0;inums.size();++i){
intcomplement=target-nums[i];
if(numMap.find(complement)!=numMap.end()){
result.push_back(numMap[complement]);
result.push_back(i);
returnresult;
}
numMap[nums[i]]=i;
}
returnresult;//如果没有找到解,返回空向量
}
//测试代码
intmain(){
vectorintnums={2,7,11,15};
inttarget=9;
vectorintresult=twoSum(nums,target);
if(!result.empty()){
coutIndices:result[0],result[1]endl;
coutValues:nums[result[0]],nums[result[1]]endl;
}else{
coutNosolutionfoundendl;
}
return0;
}
题目2(10分)
请用Java实现一个方法,统计一个字符串中每个字符出现的次数,并以键值对的形式返回。例如,输入hello,返回{h:1,e:1,l:2,o:1}。
java
importjava.util.HashMap;
importjava.util.Map;
publicclassCharCount{
publicstaticMapCharacter,IntegercountChars(Stringstr){
MapCharacter,IntegercharCountMap=newHashMap();
for(charch:str.toCharArray()){
charCountMap.put(ch,charCountMap.getOrDefault(ch,0)+1);
}
returncharCountMap;
}
publicstaticvoidmain(String[]args){
Stringinput=hello;
MapCharacter,Integerresult=countChars(input);
System.out.println(Charactercounts:+result);
}
}
题目3(10分)
请用Python实现一个函数,检查一个字符串是否是回文串(正读和反读都一样)。例如,输入madam,返回True;输入hello,返回False。
python
defis_palindrome(s):
移除字符串中的非字母数字字符,并转换为小写
cleaned=.join(char.lower()forcharinsifchar.isalnum())
检查处理后的字符串是否为回文
returncleaned==cleaned[::-1]
测试代码
print(is_palindrome(madam))#输出:True
print(is_palindrome(hello))#输出:False
题目4(10分)
请用JavaScript实现一个函数,将一个罗马数字转换为整数。罗马数字由字符I,V,X,L,C,D和M组成,其中I表示1,V表示5,X表示10,L表示50,C表示100,D表示500,M表示1000。例如,输入III,返回3;输入IV,返回4。
javascript
functionromanToInt(s){
constromanMap={
I:1,
V:5,
X:10,
L:50,
C:100,
D:500,
M
原创力文档

文档评论(0)