大学编程面试题及详细答案.docxVIP

  • 3
  • 0
  • 约1.12万字
  • 约 12页
  • 2026-06-16 发布于河北
  • 举报

大学编程面试题及详细答案

一、基础必考题(入门级,面试必出)

题目1:两数之和(LeetCode1,简化版,适合入门考察)

题干:给定一个整数数组nums和一个目标值target,请找出数组中两个整数,使得它们的和等于target,返回这两个整数的下标(假设数组中只有一组有效答案,且同一个元素不能被重复使用)。

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

答案:

1.思路拆解(面试时先讲思路,再写代码)

最直观的思路是暴力枚举:遍历数组中每个元素,再遍历它后面的所有元素,判断两者之和是否等于target,这种方法时间复杂度O(n2),空间复杂度O(1),适合入门,但效率不高;

优化思路:使用哈希表(HashMap),遍历数组时,将当前元素的值和下标存入哈希表,同时判断target-当前元素的值是否在哈希表中,如果存在,直接返回两个下标,时间复杂度O(n),空间复杂度O(n),是面试中推荐的解法(兼顾效率和代码简洁性)。

2.代码实现(Java版,最常用,也可提供Python版)

java

importjava.util.HashMap;

importjava.util.Map;

publicclassTwoSum{

publicint[]twoSum(int[]nums,inttarge

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档