当前位置: 首页 > wzjs >正文

西宁思帽网站建设东莞网站seo优化

西宁思帽网站建设,东莞网站seo优化,个人主页签名引导进入橱窗,找人做网站 自己购买服务器什么时候使用哈希法,当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。 242. 有效的字母异位词 (opens new window)这道题目是用数组作为哈希表来解决哈希问题,349. 两个数组的交集 (o…

什么时候使用哈希法,当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。

242. 有效的字母异位词 (opens new window)这道题目是用数组作为哈希表来解决哈希问题,349. 两个数组的交集 (opens new window)这道题目是通过set作为哈希表来解决哈希问题。

本题呢,我就需要一个集合来存放我们遍历过的元素,然后在遍历数组的时候去询问这个集合,某元素是否遍历过,也就是 是否出现在这个集合。

枚举 nums 中的 x,再找数组中是否存在 target -x。在一堆数中找一个数用哈希。

两数之和的求解可以分为以下 3 步:

  1. 创建一个哈希表。key 存储 nums[i],value 存储 i

  2. 遍历 nums 数组,对于当前元素 nums[i],查询哈希表中是否存在 target - nums[i]。

  3. 若存在,返回下标,如不存在,nums[i] 存入哈希表,继续第 2 步。

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> hash;vector<int> out;for(int i = 0; i < nums.size(); i++){if(hash.find(target - nums[i]) != hash.end()){out.push_back(i);out.push_back(hash[target - nums[i]]);break;}hash[nums[i]] = i;}return out;}
};

一开始的错误:

对于当前元素 nums[i],我们需要检查的是 target - nums[i] 是否在哈希表中。

在将结果存入 out 时,你错误地使用了 hash[nums[i]] 而不是 i。具体来说,out.push_back(hash[nums[i]]) 应该是 out.push_back(i),因为 i 是当前数字的索引,而 hash[nums[i]] 是之前存储的索引。

http://www.dtcms.com/wzjs/51755.html

相关文章:

  • 高级网页设计师证朔州seo
  • 个人电脑建立网站会中文域名查询官网
  • 武汉做优化网站公司seo店铺描述
  • 天长做网站的谷歌google下载安卓版 app
  • 怎么做盗号网站手机爱站关键词搜索
  • 榆林网站制作百度推广网页版
  • 微信app下载安装官方版平板百度关键词seo优化
  • 网站建设用户画像例子百度站长之家工具
  • 做网站先买域名推广活动策划方案范文
  • 如何提高网站文章收录百度今日数据统计
  • 门户网站建设软件编写网站
  • 网站设计运行费用荆州seo推广
  • 贵港购物网站开发设计怎样在百度上发布免费广告
  • 石家庄企业商城网站建设刷关键词怎么刷
  • 网站建设费要摊销视频外链在线生成
  • 章丘做网站单位哪家好西安seo网站排名
  • 专门做asmr的网站北京seo优化分析
  • WordPress可以做政府网站吗公司网络营销推广
  • 网站建设全新闻摘抄四年级下册
  • 新城镇建设官方网站微信管理系统平台
  • wordpress首页分页函数十堰seo排名公司
  • 天猫商城的商品来源seo搜索引擎优化期末及答案
  • 山东环保行业网站开发整站seo怎么做
  • csgo翻硬币网站开发网络营销策略概念
  • 设计网站流程seo线上培训班
  • 许昌住房建设局的网站全网
  • 郫县做网站新闻早知道
  • wordpress防止css采集seo教程自学
  • 做网站 推广买外链网站
  • 做网站至少要花多少钱百度网盘客服人工电话95188