标签:return hashMap nums int 复杂度 len 力扣 两数
力扣 1.两数之和
还是比较简单的,毕竟也是一道简单题,后面用哈希表来做,开阔了下新的思路
public int[] twoSum(int[] nums, int target) {
// 哈希表
// 时间复杂度O(n) 空间复杂度O(n)
int len = nums.length;
HashMap<Integer, Integer> hashMap = new HashMap<>(len - 1);
hashMap.put(nums[0], 0);
for (int i = 1; i < len; i++) {
int num = target - nums[i];
if (hashMap.containsKey(num)){
return new int[]{hashMap.get(num), i};
}
hashMap.put(nums[i], i);
}
// 暴力解法
// 空间复杂度O(n^2) 时间复杂度O(1)
/*for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (nums[i] + nums[j] == target){
return new int[]{i, j};
}
}
}
return null;*/
return null;
}
标签:return,hashMap,nums,int,复杂度,len,力扣,两数 来源: https://blog.csdn.net/weixin_43160250/article/details/120475664
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。