2026年计算机编程面试题集及答案解析.docxVIP

  • 0
  • 0
  • 约7.72千字
  • 约 22页
  • 2026-01-21 发布于福建
  • 举报

2026年计算机编程面试题集及答案解析.docx

第PAGE页共NUMPAGES页

2026年计算机编程面试题集及答案解析

1.编程语言基础(5题,每题10分)

1.1题目1(Python)

编写一个Python函数,接收一个正整数n,返回一个列表,其中包含从1到n的所有奇数。如果输入不是正整数,则抛出`ValueError`。

答案解析:

python

defget_odds(n):

ifnotisinstance(n,int)orn=0:

raiseValueError(输入必须是正整数)

return[iforiinrange(1,n+1)ifi%2!=0]

解析:使用列表推导式生成奇数列表,通过`isinstance`检查输入类型,确保输入为正整数。

1.2题目2(Java)

实现一个Java方法,接收一个字符串,返回该字符串中所有单词的逆序排列。例如,输入HelloWorld,输出WorldHello。

答案解析:

java

publicstaticStringreverseWords(Strings){

if(s==null)returnnull;

String[]words=s.trim().split(\\s+);

StringBuildersb=newStringBuilder();

for(inti=words.length-1;i=0;i--){

sb.append(words[i]);

if(i0)sb.append();

}

returnsb.toString();

}

解析:先去除前后空格,按空格分割字符串,然后逆序拼接单词。

1.3题目3(C++)

编写C++代码,实现一个函数,接收一个整数数组,返回数组中的最大值和最小值,要求不使用任何标准库函数。

答案解析:

cpp

includevector

structMinMax{

intmin;

intmax;

};

MinMaxfindMinMax(conststd::vectorintarr){

if(arr.empty())throwstd::invalid_argument(数组不能为空);

intmin=arr[0],max=arr[0];

for(intnum:arr){

if(nummin)min=num;

if(nummax)max=num;

}

return{min,max};

}

解析:遍历数组,更新最小值和最大值。

1.4题目4(JavaScript)

给定一个数组`arr`,编写JavaScript代码,返回一个新数组,其中包含所有大于`arr`平均值的元素。

答案解析:

javascript

functiongreaterThanAverage(arr){

if(!arr.length)return[];

constsum=arr.reduce((acc,num)=acc+num,0);

constavg=sum/arr.length;

returnarr.filter(num=numavg);

}

解析:计算平均值,然后过滤出大于平均值的元素。

1.5题目5(C#)

实现一个C#方法,接收一个字符串,返回该字符串中所有重复字符的频率(字典形式)。例如,输入hello,输出`{e:1,l:2,h:1,o:1}`。

答案解析:

csharp

usingSystem.Collections.Generic;

publicDictionarychar,intCountDuplicates(strings){

Dictionarychar,intfreq=newDictionarychar,int();

foreach(charcins){

if(freq.ContainsKey(c))freq[c]++;

elsefreq[c]=1;

}

returnfreq;

}

解析:遍历字符串,统计每个字符的频率。

2.数据结构与算法(8题,每题10分)

2.1题目6(链表)

实现一个单链表反转的函数,不使用递归。

答案解析:

python

classListNode:

def__init__(self,val=0,next=None):

self.val=val

self.next=next

defreverseList(head):

prev=None

current=head

whilecurrent:

next_node=cur

文档评论(0)

1亿VIP精品文档

相关文档