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

怎么做联盟网站网站友链查询接口

怎么做联盟网站,网站友链查询接口,网页打不开steam官网,wordpress 路由设计作者感觉本题稍稍有点难度,看了题解也思考了有一会TWT 显然,暴力我们是不可取的,但这里我们可以采取一种新的遍历数组形式,从后向前,也就是以i位置为结尾的所有子数组,这个子数组只统计i位置之前的。 然后…

作者感觉本题稍稍有点难度,看了题解也思考了有一会TWT

显然,暴力我们是不可取的,但这里我们可以采取一种新的遍历数组形式,从后向前,也就是以i位置为结尾的所有子数组,这个子数组只统计i位置之前的。

然后,问题就转换成了,我们要找到以i位置为结尾的所有子数组,且在[0,i-1]内,有多少个前缀和为sum[i]-k,

这里可能会有一个疑问,为什么和为k的数组都是以i位置为结尾的,就没有别的情况也符合比如下图

如果你对此有疑问,说明我们需要再看一下以i为结尾的所有数组为什么能有遍历所有数组的效果。如果我们正着看,就是0位置从前向后遍历,然后0开始的遍历完再从以1位置为开始的遍历,在我们本题中的遍历方法,无非就是把i作为了结尾,然后从右向左,也可以实现枚举所有子数组。

因此,如果上面的成立,一定在此之前就已经被统计过了。

还有一个细节,如果整个sum[i]=k怎么办?也就是说我们的sum[i]-k=0也算是成立的(前缀和为0)此时我们要定义一个hash,并令hash[0]=1;

最后,我们还要考虑一下每一次的前缀和什么时候放进表中,不能统计完就直接进,而是当移动一个位置时先判断是否有符合的再放入(防止重复)。

int Solution(vector<int> nums,int k)
{unordered_map<int,int>hash;hash[0]=1;int sum=0,ret=0;for(auto x:nums){sum+=x;if(hash.count(sum-k) ret+=hash[sum-k];hash[sum]++;//先判断再放入}return ret;
}

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

相关文章:

  • 手机版网站做一下多少钱站优云seo优化
  • 网店运营计划书范文关键词seo优化软件
  • app网站建设介绍开户推广竞价开户
  • 品牌网站设计制作公司优化设计答案六年级上册语文
  • 网站跳出率 报告常用的关键词挖掘工具
  • 衡水景县专业做淘宝网站公司网络营销概述ppt
  • 做网站用java好还是c昆明seo
  • 网站建设怎么推广seo公司官网
  • 变更备案提示 网站主办者冲突品牌推广与传播怎么写
  • 绵阳做网站优化网络营销成功的案例及其原因
  • 医院网站做品牌推广需要哪些搜索引擎调词平台价格
  • 安徽省交通运输厅门户网站百度新闻发布
  • 网络服务商网站如何优化培训方式
  • 沈阳网页设计课seo发展前景怎么样啊
  • 重庆网站目录全国各大新闻网站投稿
  • 有趣的网站代码公司网站制作流程
  • 制作网站的代码做百度推广怎么做才能有电话
  • 怎样做类似淘宝的网站营销战略
  • 盛大印刷公司网页设计seo网站怎么搭建
  • 王也诸葛青cp图合肥seo快排扣费
  • wordpress 免费建站网络营销解释
  • dede网站微信分享封面河南靠谱seo电话
  • 网站主服务器ip地址seo技术教程
  • 中国保密在线培训网站市场营销专业
  • wordpress个性化seo的中文含义是
  • 兰溪建设局网站南昌百度快速排名提升
  • 翻译网站平台建设chatgpt 链接
  • 网站建设公司如何收费百度指数的网址
  • 建行赤峰市分行 - 欢迎访问中国建设银行网站seo网上培训多少钱
  • 广州网站建设公司乐云seo598windows优化大师值得买吗