力扣笔试题及详细答案.docxVIP

  • 5
  • 0
  • 约9.52千字
  • 约 11页
  • 2026-04-27 发布于河北
  • 举报

力扣笔试题及详细答案

题目1:两数之和(简单,高频笔试入门题)

题干

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。

注意:你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

示例:

输入:nums=[2,7,11,15],target=9

输出:[0,1]

解释:因为nums[0]+nums[1]=2+7=9,所以返回[0,1]。

详细解题思路

核心需求:快速找到两个数的和等于target,避免暴力遍历(暴力时间复杂度O(n2),笔试中容易超时)。

最优思路:哈希表(HashMap),利用“补数”思想——对于每个数nums[i],计算需要的补数是target-nums[i],如果补数已经在哈希表中,直接返回两个下标;如果不在,就把当前数和它的下标存入哈希表,继续遍历。

优势:时间复杂度O(n),空间复杂度O(n),兼顾效率和简洁,笔试中最推荐写法。

代码实现(Java,笔试最常用语言)

java

importjava.util.HashMap;

importjava.util.Map;

classSolution{

publicint[]twoSum(int[]num

文档评论(0)

1亿VIP精品文档

相关文档