微软试题及详细答案.docxVIP

  • 1
  • 0
  • 约5.8千字
  • 约 7页
  • 2026-05-09 发布于河北
  • 举报

微软试题及详细答案

一、编程基础题(微软笔试高频,侧重代码简洁性与边界处理)

题目1:两数之和(简单,微软入门必考题)

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

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

详细答案

思路:最直观的暴力解法是双重循环遍历,时间复杂度O(n2),但微软更看重效率,最优解法是使用哈希表(字典),将遍历过的元素和其下标存储,每次遍历当前元素时,判断target-当前元素是否在哈希表中,若存在则直接返回下标,时间复杂度O(n),空间复杂度O(n)。

代码(Python,贴合微软实际笔试代码风格,无冗余):

python

deftwoSum(nums,target):

#定义哈希表,存储已遍历元素:key=元素值,value=元素下标

hash_map={}

foriinrange(len(nums)):

complement=target-nums[i]

#判断互补数是否已在哈希表中

ifcomplementinhash_map:

r

文档评论(0)

1亿VIP精品文档

相关文档