华为技术部研发岗位面试题解析.docxVIP

  • 3
  • 0
  • 约7.45千字
  • 约 20页
  • 2026-03-24 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术部研发岗位面试题解析

一、编程与算法题(共5题,每题10分,总分50分)

1.题目:

给定一个无重复元素的整数数组`nums`,返回`nums`中所有可能的子集。要求不使用递归,并考虑空间效率。

答案:

cpp

includevector

usingnamespacestd;

classSolution{

public:

vectorvectorintsubsets(vectorintnums){

vectorvectorintresult;

vectorintpath;

result.push_back(path);

for(inti=0;inums.size();++i){

intn=result.size();

for(intj=0;jn;++j){

vectorinttemp=result[j];

temp.push_back(nums[i]);

result.push_back(temp);

}

}

returnresult;

}

};

解析:

采用迭代法构建子集,初始时只包含空集。每次添加一个新元素时,将当前所有子集的副本中添加该元素,形成新的子集。时间复杂度为O(2^n),空间复杂度为O(n×2^n),符合华为对空间效率的要求。

2

文档评论(0)

1亿VIP精品文档

相关文档