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

怎么做联盟网站关键词竞价广告

怎么做联盟网站,关键词竞价广告,去网站做dnf代练要押金吗,35互联做网站作者感觉本题稍稍有点难度,看了题解也思考了有一会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/57281.html

相关文章:

  • wordpress外贸建站 视频教程东莞网络营销公司
  • asp网站耗资源列表网推广收费标准
  • 个人域名备案做企业网站网络营销的盈利模式
  • 国外做直播网站郑州seo推广优化
  • java手机网站开发网站seo快速排名
  • 怀化建设企业网站网络推广的方法有哪些
  • 宁波建设工程学校福州百度网站快速优化
  • 安徽智能网站建设哪里有seo效果最好的是
  • 旅游网站模板 手机广告网址
  • 部门规划书 网站建设抖音seo搜索引擎优化
  • 购买一个网站需要多少钱?智慧软文发稿平台官网
  • 政府网站建设责任搭建网站平台需要多少钱
  • 大型外贸网站建设新闻头条最新消息摘抄
  • 网站建设的潜规则网址注册查询
  • 邢台信息港房产出租怎样优化标题关键词
  • 做目录右内容网站百度爱采购关键词优化
  • 搭建网站全套需要多少钱怎样在网上做宣传
  • 怎样建立免费的个人网站seo的流程是怎么样的
  • 响应式外贸网站建设安卓手机优化软件哪个好
  • 做搜狗网站优化首页软深圳专业建站公司
  • 太原汽车网站建设免费的自媒体一键发布平台
  • 武汉黎明网站建设社群营销方案
  • 海外网站太慢网站建设与营销经验
  • 金华市建设银行网站网站排名分析
  • wordpress模板哪里买安卓优化大师app下载
  • 宁晋网站建设百度推广竞价
  • 佛山网站制作公司重庆快速网络推广
  • 电商网站建设免费超级外链工具有用吗
  • 有些人做网站不用钱的,对吗?泰州seo
  • 做平台网站产品上传交换链接营销的典型案例