经典编程面试题及详细答案.docxVIP

  • 0
  • 0
  • 约9.53千字
  • 约 11页
  • 2026-06-02 发布于河北
  • 举报

经典编程面试题及详细答案

一、基础编程题(必考,侧重语法与逻辑)

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

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

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

解析思路

核心需求:快速找到两个数的和等于target,避免暴力遍历的低效(暴力法时间复杂度O(n2))。

关键思路:用哈希表(字典)存储“数组元素→下标”,遍历数组时,计算当前元素与target的差值,判断差值是否在哈希表中:

1.若差值存在,说明当前元素和哈希表中的元素之和为target,直接返回两个下标;

2.若差值不存在,将当前元素及其下标存入哈希表,继续遍历。

优势:时间复杂度O(n),空间复杂度O(n),是面试中最优解法,面试官重点考察对哈希表的应用。

代码实现(Python)

python

deftwoSum(nums,target):

#初始化哈希表,存储元素和对应的下标

hash_map={}

#遍历数组,同时记录下标

forindex,numinenumerate(nums):

#计算差值

文档评论(0)

1亿VIP精品文档

相关文档