全栈开发工程师算法面试题解析.docxVIP

  • 0
  • 0
  • 约5.59千字
  • 约 16页
  • 2026-02-09 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年全栈开发工程师算法面试题解析

一、编程语言基础(共3题,每题10分)

题目1:

请用Python实现一个函数,输入一个正整数n,返回其二进制表示中1的个数。例如,输入5(二进制为101),返回2。

答案:

python

defcount_bits(n):

returnbin(n).count(1)

解析:

`bin(n)`将数字转换为二进制字符串,如`bin(5)`返回`0b101`,然后`count(1)`统计其中1的个数。时间复杂度为O(1),因为二进制位数与n的对数成正比。

题目2:

用JavaScript实现一个函数,输入一个字符串,返回该字符串中所有唯一字符的集合。例如,输入`hello`,返回`[e,h,l,o]`。

答案:

javascript

functionuniqueChars(str){

constcharSet=newSet();

constseen=newSet();

for(constcharofstr){

if(!seen.has(char)){

charSet.add(char);

seen.add(char);

}

}

returnArray.from(charSet);

}

解析:

使用两个集合`charSet`和`seen`,前者存储唯一字符,后者防止重复添加。遍历字符串时,若字符未出现过,则加入两个集合。时间复杂度为O(n),空间复杂度为O(n)。

题目3:

用Java实现一个方法,输入一个整数数组,返回数组中所有奇数数字的平方和。例如,输入`[1,2,3]`,返回`12+32=10`。

答案:

java

publicstaticintsumOfOddSquares(int[]arr){

intsum=0;

for(intnum:arr){

if(num%2!=0){

sum+=numnum;

}

}

returnsum;

}

解析:

遍历数组,判断每个数字是否为奇数,若是则平方后累加。时间复杂度为O(n),空间复杂度为O(1)。

二、数据结构(共4题,每题12分)

题目4:

请用C++实现一个函数,输入一个链表,返回链表中中间节点的值。假设链表节点数为奇数。

答案:

cpp

structListNode{

intval;

ListNodenext;

ListNode(intx):val(x),next(nullptr){}

};

intfindMiddle(ListNodehead){

ListNodeslow=head,fast=head;

while(fastfast-next){

slow=slow-next;

fast=fast-next-next;

}

returnslow-val;

}

解析:

快慢指针法:快指针每次移动两步,慢指针移动一步,当快指针到达末尾时,慢指针位于中间。时间复杂度为O(n),空间复杂度为O(1)。

题目5:

用Python实现一个函数,输入一个非空二叉树,返回其最大宽度。宽度定义为树中同一层最左和最右节点之间的距离。

答案:

python

fromcollectionsimportdeque

classTreeNode:

def__init__(self,val=0,left=None,right=None):

self.val=val

self.left=left

self.right=right

defmaxWidth(root):

ifnotroot:

return0

queue=deque([(root,0)])

max_width=0

whilequeue:

level_length=len(queue)

_,first=queue[0]

for_inrange(level_length):

node,index=queue.popleft()

ifnode.left:

queue.append((node.left,2index+1))

ifnode.right:

queue.append((node.right,2index+2))

max_width=max(max_width,index)

returnmax_width+1

解析:

层序遍历,使用队列存储节点及其索引(根为0),每层记录最右索引减最左索引加1。时间复杂度为O(n),空间复杂度为O(n)。

题目6:

用Java实现一个方法,输入一个栈,通过仅使用另一

文档评论(0)

1亿VIP精品文档

相关文档