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

百度站长平台网站收录买卖交易平台

百度站长平台网站收录,买卖交易平台,拖拽式网站,做外贸网站需要注意些什么问题题目 链接:leetcode链接 思路分析&#xff08;前缀和&#xff09; 注意&#xff1a;我们前面讲过滑动窗口可以处理子数组、子串等问题&#xff0c; 但是在这道题目里面注意数据范围 -1000 < nums[i] < 1000 nums[i]可正可负&#xff0c;区间的和没有单调性&#xff0c;使…

题目

链接:leetcode链接

在这里插入图片描述
在这里插入图片描述

思路分析(前缀和)

注意:我们前面讲过滑动窗口可以处理子数组、子串等问题,
但是在这道题目里面注意数据范围 -1000 <= nums[i] <= 1000
nums[i]可正可负,区间的和没有单调性,使用不了滑动窗口

这里带来新的解决方法
这道题目也是要求我们求一段连续区间的和,我们的前缀和算法也能帮助我们做到 [l , r] = dp[r] - dp[l - 1]

所以,我们求区间和为k,也就是,k = sum[r] - sum[l - 1]

抽象来看,存在一个区间的和为k,那么在==[0 , i - 1]==就存在一个前缀和为sum - k
我们只需要去寻找这个sum - k的前缀和即可。

在这里插入图片描述

思考一下,我们真的需要另外去开一个前缀和数组吗?
如果开前缀和数组的话,那也是需要遍历前缀和数组,以每一个下标为终点当sum去找sum - k,时间复杂度依旧是O(N2),这和暴力有啥区别呢?

所以是不需要开前缀和数组的,
我们只需要sum - k的个数,为什么不使用hash表呢?
我们每次算到一个新的前缀和,去hash表中查找sum - k的个数,不就可以解决了嘛

此时的sum前缀和,采用滚动数组的方式,利用一个变量就可以统计所有的前缀和了(这里后续不会使用,所以前缀和并不用存起来,所以并不需要实质地开一个数组)

细节:
(1)我们什么时候把前缀和插入hash表
我们要在[0 , i - 1]中查找hash表,也就是要先查找,再插入,
否则就是在[0,i]中查找
在[0,i]中查找的话,如果k是0的话,就会出现bug,
比如只有一个元素1,插入hash表后
sum - k还是等于1,但是我们要找的是和为0,
在hash里面找到了1,就返回1,但是实际上是没有符合要求的子数组

(2)如果[0,i]的前缀和恰好等于k怎么办呢?
此时我们需要特殊处理,
这种情况下,sum - k等于0,此时的对应的sum - k区间不存在,这种情况要特殊处理一下,
在创建hash表的时候,额外把hash[0] = 1,来提前应对这种情况

代码

int subarraySum(vector<int>& nums, int k) {int sum = 0;int ret = 0;unordered_map<int,int> hash;hash[0]++;for(auto & e:nums){sum += e;int check = sum - k;if(hash.count(check)) ret += hash[check];hash[sum]++;}return ret;}
http://www.yidumall.com/news/100070.html

相关文章:

  • app网站开发学习谷歌seo怎么优化
  • 专业集团门户网站建设公司2021年重大新闻事件
  • 做最好的在线中文绅士本子阅读网站什么叫口碑营销
  • 镇江网站制作公司使用网站模板快速建站
  • 高明建网站服务中囯联通腾迅
  • 网站制作公司前景app软件开发
  • 公众平台官网注册搜狗seo快速排名公司
  • 做网站 设备微信推广广告在哪里做
  • 网站失败的原因最好用的搜索引擎排名
  • 交互做的很好的网站百度信息流广告推广
  • 怎么做网站管理外贸建站平台
  • 图们市建设局网站平台引流推广怎么做
  • 那些彩票广告网站怎么做的商品推广软文范例100字
  • 做响应式网站怎么设计seo关键词排名优化价格
  • 华为网站建设官网合肥网络推广软件
  • 北京网站建设咨询公司互联网全网营销
  • 做网站建设公司赚钱吗seo运营做什么
  • 重庆哪家做网站南京今天重大新闻事件
  • 织梦 去掉我的网站seo网络优化是什么工作
  • 网站建设的论坛搜索排名
  • 网站开发 演讲网站模板之家
  • wordpress 进去管理百度搜索优化怎么做
  • 合同 制作 网站h5页面制作平台
  • 个人服务器 网站建设搜索关键词是什么意思
  • 网站建设人员需求广州百度
  • wordpress 模板 排名杭州企业seo
  • 微网站开发需要几个人镇江百度关键词优化
  • 网站建设拓扑图优化推广网站seo
  • 网站外包费用怎么做分录关键词分为哪几类
  • 网站域名怎么过户企业网站有什么