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

dz论坛网站源码百度查询关键词排名工具

dz论坛网站源码,百度查询关键词排名工具,企点下载官网,网站端网站开发这一题观察数据范围和题目可以知道是应用到前缀和加哈希,正常的思路走即可,但关键点就在于如何实现数组的不重叠,我原想的方案是枚举出符合条件的子数组后,记录它的起始位置,新再枚举的子数组不能处于这个区间内&#…

在这里插入图片描述
在这里插入图片描述
这一题观察数据范围和题目可以知道是应用到前缀和加哈希,正常的思路走即可,但关键点就在于如何实现数组的不重叠,我原想的方案是枚举出符合条件的子数组后,记录它的起始位置,新再枚举的子数组不能处于这个区间内,但这样就忽略了这个重复的数组可能要比之前的数组的长度小,如果不保存这个重叠的子数组,去更新最终两个子数组的长度和时一定会出错,而且子数组不定长,可能是在后面枚举的子数组比前面的要长些,总之不管怎样我们都无法实现对重叠的子数组的有效处理。
看题解后我才明白,解决重叠子数组的关键在于我们用一个dp【】表,每一个索引表示在该位置之前的最小的子数组的长度,这样就避免了对重复子数组的讨论,我们不需要关注两个子数组是否重叠,只需要把一个位置的前面的最小的子数组的长度统计出来即可,有可能在该位置之前有两个子数组是重叠的,但那又何妨,我们只需要判断它们谁长度最小,保存到dp表中即可,这样我们一边的枚举新的子数组,一边的更新新的子数组前面的子数组的长度的最小值这其实也是左维护右枚举的一种思想吧。

class Solution {
public:int sum[100005];
unordered_map<int,int> mp;int minSumOfLengths(vector<int>& arr, int target) {int leftmin[100005]; for(int i=0;i<=arr.size();i++){leftmin[i]=INT_MAX;}for(int i=0;i<arr.size();i++){sum[i+1]=sum[i]+arr[i];}mp[0]=0;//sum[j+1]-sum[i]=targetint ans=INT_MAX;for(int j=0;j<arr.size();j++){leftmin[j+1]=leftmin[j];if(mp.count(sum[j+1]-target)){//如果从哈希表中找到该位置之前存在一个子数组,使他满足条件int start=mp[sum[j+1]-target]+1;int len=j+1-start+1;if(start>0){if(leftmin[start-1]!=INT_MAX){ans=min(ans,leftmin[start-1]+len);}leftmin[j+1]=min(leftmin[j+1],len);} }mp[sum[j+1]]=j+1;}if(ans==INT_MAX){return -1;}elsereturn ans;}
};

时间复杂度O(n),涉及到了一些动态规划的思想但其实还算好理解的。

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

相关文章:

  • 佛山网站制作网址赚钱平台
  • 杭州小型网站建设服务潍坊网站seo
  • 外贸企业网站推广公司自助建站网站哪个好
  • 普通网站一年要多少钱外链发布软件
  • 南通网站建设公司2022拉新推广赚钱的app
  • 制作网站的图片素材上海搜索优化推广
  • 做网站关键词申请网站怎么申请
  • 二手交易网网站建设目标深圳网站推广
  • 中国建设局网站招聘360开户
  • 网站改版做301是啥意思 换域名环球网今日疫情消息
  • 网站顶部设计百度账号登录官网
  • 用win2003做网站拉新app推广平台排名
  • 专线可以做网站做app软件大概多少钱
  • 2016年网站建设总结关键词优化哪个好
  • 做网站全程指导武汉楼市最新消息
  • 购物网站建设app开发免费的推广引流软件
  • 自己做的网站根目录哪里找到微博搜索引擎优化
  • 杭州如何做百度的网站推广小说百度风云榜
  • 山东招聘网站建设网络整合营销案例
  • 九江建网站的公司seo的工作内容
  • 做装修业务呢有多少网站天津网站策划
  • title (网站建设)济南seo优化外包
  • 网站建设及维护推广合同免费b站软件推广网站
  • 常州专业网站建设班级优化大师功能介绍
  • 网站排名 优帮云网站权重如何查询
  • 网站开发 jsp加密app推广引流方法
  • 做论坛app网站徐州百度推广公司
  • 网站 关键词库 怎么做发稿媒体平台
  • wordpress安装网页太简单了长沙seo研究中心
  • 东莞市长安网站建设公司seo网站排名软件