0ms,高效
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] res = new int[2];
HashMap<Integer,Integer> hashtable = new HashMap<Integer,Integer>();
for(int i=0;i<nums.length;i++){
//containsKey用在map,containis用在list
if(hashtable.containsKey(nums[i])){
res[1] = i;
res[0] = hashtable.get(nums[i]);
return res;
}
// 将数据存入 key为补数 ,value为下标
hashtable.put(target-nums[i], i);
}
return res;
}
}
本文介绍了一种使用HashMap优化的两数之和问题解决方案,通过O(1)的时间复杂度实现快速查找目标补数,展示了数据结构在算法中的强大应用。
1550

被折叠的 条评论
为什么被折叠?



