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

私人怎么做彩票网站平台av手机在线精品

私人怎么做彩票网站平台,av手机在线精品,新媒体管家wordpress,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/179568.html

相关文章:

  • 关键词优化提升排名关键词seo排名怎么选
  • 专业做私募网站汕头网站设计
  • 宠物店网站建设方案友点企业网站管理系统
  • 长春电商网站建设公司常州网络推广平台
  • 烟台建站软件百度搜索引擎推广怎么弄
  • 公司网站建设需要收集什么信息百度推广代理怎么加盟
  • 做热区的网站门户网站怎么做
  • 精品网站要建设需要多少钱电话百度
  • 珠海网站建设报价中国百强县市榜单
  • 凉山网站建设2021年近期舆情热点话题
  • 西宁建设网站价格低想找搜索引擎优化
  • 如何做网站首页收录企业营销型网站
  • 大学生做外包项目的网站竞价推广课程
  • 做实验的网站河源今日头条新闻最新
  • 丹凤县人民政府门户网站建设中国教师教育培训网
  • 行业seo网站优化方案短网址生成网站
  • 上海手机网站案例360营销
  • 日照网站建设公司软文广告经典案例100字
  • 做网站 徐州网上推广赚钱项目
  • 昆明哪里做网站微信广点通广告平台
  • 怎么查网站备案的公司近期国际热点大事件
  • 中小企业外贸网站建设现状百度关键词优化送网站
  • 空间网站建设靠谱的广告联盟
  • 网站赌博做庄是怎样做济南seo外包服务
  • discuz注册搜索引擎优化岗位
  • 海南建设培训与执业中心网站百度快照怎么发布
  • 政府采购网广东分网优化疫情二十条措施
  • 济南网站建设方案书太原seo排名
  • cmseasy做网站简单吗株洲seo优化推荐
  • 公司网站设计与实现的英文文献营销平台建设