OJ面试题及详细答案.docxVIP

  • 7
  • 0
  • 约9.03千字
  • 约 9页
  • 2026-04-26 发布于河北
  • 举报

OJ面试题及详细答案

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

题目1:两数之和(简单)

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

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

详细答案

思路:最直观的暴力法是双重循环遍历,时间复杂度O(n2),但面试中会追问更优解法。最优思路是使用哈希表(HashMap),遍历数组时,将当前元素的补数(target-当前元素)存入哈希表,key为补数,value为当前下标,若后续遍历到补数,直接返回两个下标,时间复杂度O(n),空间复杂度O(n)。

代码(Java):

java

importjava.util.HashMap;

importjava.util.Map;

publicclassTwoSum{

publicint[]twoSum(int[]nums,inttarget){

//哈希表存储补数-原数下标

MapInteger,Integergt;map=newHashMap();

for(inti=0;inum

文档评论(0)

1亿VIP精品文档

相关文档