点上方蓝字计算机视觉联盟获取更多干货

在右上方 ··· 设为星标 ★,与你不见不散

LeetCode题目

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

LeetCode解题记录

题目解析:

本题是需要求解数组中两个数之和为目标值的下标,作为LeetCode题目来说,本道题目是非常简单的,两种思路:

(1)最简单暴力

双重循环,依次找出两个数求和,并找到两数之和与目标值相等的数的下标,时间复杂度为O(N^2)。

具体过程:

  1. 依次遍历数组的两个数,num1,num2

  2. 比较两数之和与目标值是否相等:num1+num2==target,相等则返回两个数的下标;无值则返回空值。

(2)哈希表

  1. 遍历数组 nums[i](i为下标值),判断map中是否存在key值:target-nums[i]

  2. 如果不存在则将将当前的num[i]存入map中的key值,i存入map的value值,继续遍历数组直到找到为止或者遍历完整个数组;如果存在,则返回map中key值的value值和当前num[i]值的i值。

具体过程如下图所示:

遍历第一个元素:

遍历第二个元素:

遍历第三个元素:

遍历第四个元素:

C++版本(简单暴力法):

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {int size=nums.size();vector<int> None{0};vector<int> index;for(int i=0;i<size-1;++i)for(int j=i+1;j<size;++j){int sum=0;sum=nums[i]+nums[j];if(sum==target){index=vector<int>({i,j});return index;}      }return None;}
};

C++版本(哈希表):

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {//提供一对一的hashmap<int,int> a_map;//用来存储找到的结果下标,初始化一个大小为2,值为0的容器bvector<int> b(2,0);int size=nums.size();for(int i=0;i<size;++i){if(a_map.count(target-nums[i])>0){b[0]=a_map[target-nums[i]];b[1]=i;break;}a_map[nums[i]]=i;//反过来放入map中,用来获取结果下标}return b;};
};

END

加群交流

欢迎加入CV联盟LeetCode交流群,我们一起成长!

扫描添加CV联盟微信拉你进群,备注:CVLeetCode

带你自学Python专栏

带你自学Python系列(一):变量和简单数据类型(附思维导图)

带你自学Python系列(二):Python列表总结-思维导图

带你自学Python系列(三):列表遍历(for循环)

带你自学Python系列(四):range、min、max、sum函数

带你自学Python系列(五):Python解决列表字符不区分大小写问题

带你自学Python系列(六):列表解析和列表切片

带你自学Python系列(七):Python列表复制陷阱

带你自学Python系列(八):列表具体操作思维导图总结!

带你自学Python系列(九):一文读懂Python中字典应用原理!

带你自学Python系列(十):用户输入input函数详解

带你自学Python系列(十一):Python函数的用法(一)

带你自学Python系列(十二):Python函数的用法(二)

带你自学Python系列(十三):Python函数的用法(三)

带你自学Python系列(十四):Python函数的用法(四)

带你自学Python系列(十五):Python中类的用法(一)

带你自学Python系列(十六):Python中类的用法(二)

带你自学Python系列(十七):Python中类的用法(三)

带你自学Python系列(十八):Python中类的用法(四)

带你自学Python系列(十九):Python读取文件详解

带你自学Python系列(二十):Python文件写入详解

点个在看支持一下吧

【LeetCode刷题记录】LeetCode经典题目数组求和及哈希表的使用!相关推荐

  1. 个人LeetCode刷题记录(带题目链接及解答)持续更新

    Leetcode 刷题 注:~[完成]代表还有一些方法没看,最后再看 一.一些需要重刷的典型题: 1.快速排序,归并排序,堆排序(递归的思想) 2.链表中的回文链表,其中的快慢指针,多看,多练 3.链 ...

  2. LeetCode刷题记录13——705. Design HashSet(easy)

    LeetCode刷题记录13--705. Design HashSet(easy) 目录 LeetCode刷题记录13--705. Design HashSet(easy) 前言 题目 语言 思路 源 ...

  3. LeetCode刷题记录10——434. Number of Segments in a String(easy)

    LeetCode刷题记录10--434. Number of Segments in a String(easy) 目录 LeetCode刷题记录9--434. Number of Segments ...

  4. LeetCode刷题记录9——58. Length of Last Word(easy)

    LeetCode刷题记录9--58. Length of Last Word(easy) 目录 LeetCode刷题记录9--58. Length of Last Word(easy) 题目 语言 思 ...

  5. LeetCode刷题记录8——605. Can Place Flowers(easy)

    LeetCode刷题记录8--605. Can Place Flowers(easy) 目录 LeetCode刷题记录8--605. Can Place Flowers(easy) 题目 语言 思路 ...

  6. LeetCode刷题记录7——824. Goat Latin(easy)

    LeetCode刷题记录7--824. Goat Latin(easy) 目录 LeetCode刷题记录7--824. Goat Latin(easy) 题目 语言 思路 后记 题目 题目需要将一个输 ...

  7. LeetCode刷题记录4——67. Add Binary(easy)

    LeetCode刷题记录4--67. Add Binary(easy) 目录 LeetCode刷题记录4--67. Add Binary(easy) 题目 语言 思路 后记 题目 今天这题是与字符串相 ...

  8. LeetCode刷题记录2——217. Contains Duplicate(easy)

    LeetCode刷题记录2--217. Contains Duplicate(easy) 目录 LeetCode刷题记录2--217. Contains Duplicate(easy) 题目 语言 思 ...

  9. LeetCode刷题记录1——717. 1-bit and 2-bit Characters(easy)

    LeetCode刷题记录1--717. 1-bit and 2-bit Characters(easy) LeetCode刷题记录1--717. 1-bit and 2-bit Characters( ...

最新文章

  1. Android的API与差异化之路
  2. CTE 中字符串拼接
  3. pycharm调试远程服务器代码
  4. 如何解决div层被flash遮盖的问题
  5. 在IIS中使用Gzip压缩后传送数据
  6. WordPress Kyma插件里Connect和disconnect按钮的动态显示逻辑
  7. oracle lms进程 内存,Oracle RAC 内存融合(Cache Fusion)
  8. 三国历史的教训读后感_历史上伟大的创新者的教训,你永远都不会忘记
  9. bzoj1925地精部落——数学
  10. java string类型的初始化
  11. python 内存释放gc_如何释放内存的python删除对象?
  12. oracle命令历史记录,oracle命令历史记录工具(rlwrap)
  13. sis地址获取器_TencentOS tiny深度源码分析(2)—— 调度器
  14. python测试嵌入式_用Python测试嵌入式系统的测试框架
  15. 3个方法解决百度网盘限速 (2018-07-20)
  16. 嵌入式端的神经网络算法部署和实现综合
  17. hbase二级索引解决方案
  18. 美国MAK Technoligies介绍
  19. 浏览器被hao123劫持
  20. 【Javafx】关于属性绑定需要在动画设置之后

热门文章

  1. android webview capturepicture,android webView截图的4种方法
  2. python系统提供构造函数传入参数_python类变量与构造函数的使用
  3. python拦截广告弹窗_你会如何使用Python进行广告拦截?
  4. 做折线图_python的visvis库做折线图(line.py)代码详解
  5. nginx rewrite php参数,Nginx rewrite伪静态配置参数详解
  6. python学习之模块--模块(五)
  7. mini-css-extract-plugin简介
  8. 汇编:分段函数的值的计算
  9. go系列(1)- linux下安装go环境
  10. Oracel官网下载各类版本的JDK