Java 高频算法面试题(含详细手写答案).docx

Java 高频算法面试题(含详细手写答案).docx

Java高频算法面试题(含详细手写答案)

一、基础数组类(面试必问)

1.两数之和(LeetCode1)

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

面试解题思路:

暴力双重循环时间复杂度O(n2),面试不推荐。最优解法是用HashMap做空间换时间,遍历数组时,先判断map中是否存在target-当前值,存在则直接返回下标,不存在则把当前值和下标存入map,遍历一次即可完成,时间复杂度O(n)。

完整代码:

java

imp

文档评论(0)

1亿VIP精品文档

相关文档