- 0
- 0
- 约8.8千字
- 约 11页
- 2026-06-02 发布于河北
- 举报
算法岗面试题及详细答案
一、基础算法(必问,考察代码功底与思维)
1.题目:两数之和(LeetCode1)
题干:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。注意:你可以假设每种输入只会对应一个答案,且数组中同一个元素不能使用两遍。
示例:nums=[2,7,11,15],target=9→输出[0,1]
详细答案:
核心思路:暴力解法(双重循环)时间复杂度O(n2),效率太低,实际面试中不推荐;最优解法用哈希表(HashMap),利用“目标值-当前元素=补数”,判断补数是否在哈希表中,存在则直接返回下标,不存在则将当前元素和下标存入哈希表,时间复杂度O(n),空间复杂度O(n)。
代码实现(Java,贴合面试手写风格,不写冗余注释):
java
publicint[]twoSum(int[]nums,inttarget){
MapInteger,Integergt;map=newHashMap();
for(inti=0;inums.length;i++){
intcomplement=target-nums[i];
if(map.containsKey(complement)
原创力文档

文档评论(0)