写在前面

Leetcode 社区挺神奇的,近几年火热程度不亚于开源社区github。做题一直以来是咱们亚洲人的强项,咋这香馍馍也被美国硅谷抢先了,着实香菇。


企于算法工程师的江湖地位和薪资福利,决定先等等再细读具体数学,时间有限,编程汗颜!

Leetcode开始撸,看看大量做题后,算法和编程是否能有飞跃。以下题解纯属个人输出,如有雷同,那就是英雄所见略同。


2021/12/26

1. 两数之和

/** @lc app=leetcode.cn id=1 lang=cpp** [1] 两数之和*/// @lc code=start
class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {//the container of outputvector<int> ans;//hash table stores values have already scanned//key of the store is value,value of the store is index//search for index by value   unordered_map<int,int> store;int size=nums.size();//one iteration can slove questionfor(int i=0;i<size;++i){int remainder= target-nums[i];if(store.count(remainder)){//existsans.push_back(store[remainder]);ans.push_back(i);break;}else{//non-existsstore[nums[i]]=i;}}return ans;}
};

关键信息:
数组中同一个元素不能在答案中出现两次
任意顺序返回答案
甚至
每次输入只对应一个答案

所有的信息指向哈希表,那么哈希表key-value该存储些什么呢
按逻辑,数组中每一对数都可能是一次输入的返回答案,那么对数组的处理一定是遍历。
返回答案是数组下标,条件是两个元素和等于target。很显然,哈希表的key可以是元素值,value则是关注的元素下标。
对于插入哈希表的数而言,程序期望的是知道与target的剩余数是否已经存在。可以看成每个数都要去哈希表里找伙伴,和伙伴一起去平分target这个派,发现没有在一块的伙伴,他就去哈希表里等着后面的伙伴去找他,因为遍历过程就是让后面找前面的。

时间复杂度:只利用了一次遍历,O(n)。
空间复杂度:哈希表需要存储遍历过的数,O(n)。

从今天起,浩浩荡荡的刷题大军里又多了一个”考生”。忽然又想起了《考死》,打算有空重刷下。

Leetcode 1:两数之和相关推荐

  1. [leetcode]1.两数之和

    [leetcode]1.两数之和 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应 ...

  2. [hashmap|空间换时间] leetcode 1 两数之和

    [hashmap|空间换时间] leetcode 1 两数之和 1.题目 题目链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下 ...

  3. C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组

    C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在 ...

  4. LeetCode 1. 两数之和

    LeetCode 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入 ...

  5. 【前端来刷LeetCode】两数之和与两数相加

    大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...

  6. leetCode:twoSum 两数之和 【JAVA实现】

    LeetCode 两数之和 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标. 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素. 更多文章查看个人博客 个人博客地址:t ...

  7. 力扣(leetcode)-1. 两数之和

    描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组 ...

  8. LeetCode 01两数之和02两数相加

    力扣 LeetCode01两数之和 LeetCode02两数之加 前言:第一次LeetCode打卡题解,前面组织的打卡活动从今天开始正式开始了,很多csdn和公众号小伙伴以及加入了,欢迎加入!详细看力 ...

  9. Leetcode 1. 两数之和 (Python版)

    有粉丝说我一个学算法的不去做Leetcode是不是浪费,于是今天闲来没事想尝试一下Leetcode,结果果断翻车,第一题没看懂,一直当我看到所有答案的开头都一样的时候,我意识到了我是个铁憨憨,人家是让 ...

  10. 【LeetCode】两数之和

    package leetcode.editor.cn;//给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. // // 你可 ...

最新文章

  1. python如何编程-编程零基础应当如何开始学习 Python?
  2. php 网页截屏,怎么用PHP实现网页截图
  3. QString与LPCWSTR互转
  4. linux ssh基本
  5. Polly的7种策略
  6. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis
  7. const 和readonly
  8. java多客户端请求响应_Java实现服务器端对多个客户端请求响应
  9. 笔记72 高级SSM整合
  10. 团队协助 开源项目_5分钟了解 Vtiger CRM-国际知名开源客户管理软件
  11. IIS------IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
  12. 大数据技术之Hive(四)函数、压缩和存储
  13. 侯捷C++八部曲笔记(二、STL标准库和泛型编程)
  14. 速卖通正式推出全托管,卖家竞争进入新阶段
  15. [笔记] GPGPU-SIM的使用说明(一)
  16. Android应用接入第三方登录之新浪登录
  17. ping 192.168.1.1-t命令有什么用?是什么意思?
  18. Switch开关按钮js
  19. taro tabBar的设置,设置tabbar的文字,设置tabbar的图标
  20. 剖析系统虚拟化(2)- X86虚拟化技术

热门文章

  1. 数仓建模主题--事件归因分析主题
  2. 小飞鱼通达二开 企业微信与通达OA的另一种集成方式(图文)
  3. yoloV5-6.2分类训练记录
  4. 三星s8是否支持html,三星S8+对于PD兼容性的测试
  5. PS·web前端切图(详细)
  6. 985研究生入职电网6个月,晒出收入,还以为看错了,kafka实战pdf
  7. Vite(三)部署静态站点(wordpress与hugo与Vercel、CI/CD、Travis CI、GitLab CI)、环境变量与模式、服务端渲染(SSR)
  8. 项目上线,旧数据需要修改,写SQL太麻烦,看Excel配合简单SQL的强大功能
  9. PCIE协议解析 synopsys IP Power Management Capability 读书笔记(10)
  10. 数据库设计(结构化设计方法)——学生考试管理系统