计算机工程师面试题集.docxVIP

  • 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)

1亿VIP精品文档

相关文档