微软笔试题目及详细答案.docxVIP

  • 0
  • 0
  • 约6.08千字
  • 约 7页
  • 2026-04-30 发布于河北
  • 举报

微软笔试题目及详细答案

一、编程题(3题,核心考察代码逻辑、边界处理,均为微软笔试高频题型)

题目1:两数之和(简单,高频基础题)

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。注意:数组中同一个元素不能使用两遍,假设每种输入只会对应一个答案。

示例:输入:nums=[2,7,11,15],target=9→输出:[0,1]

详细答案

思路:核心是避免暴力枚举(时间复杂度O(n2)),用哈希表(字典)存储遍历过的元素和其下标,遍历数组时,计算当前元素与target的差值,若差值在哈希表中,直接返回两个下标;若不在,将当前元素存入哈希表,继续遍历。时间复杂度O(n),空间复杂度O(n),符合微软对代码效率的要求。

代码(Python,贴合笔试实际书写习惯,无冗余):

python

deftwoSum(nums,target):

#定义哈希表,存储元素值:下标

hash_map={}

foriinrange(len(nums)):

#计算差值

complement=target-nums[i]

#差值存在,直接返回

ifcomplementinhash_map:

文档评论(0)

1亿VIP精品文档

相关文档