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

制作网站的专业公司吗常宁网页设计

制作网站的专业公司吗,常宁网页设计,食品科技学校网站模板,网站写作赚钱这一题观察数据范围和题目可以知道是应用到前缀和加哈希,正常的思路走即可,但关键点就在于如何实现数组的不重叠,我原想的方案是枚举出符合条件的子数组后,记录它的起始位置,新再枚举的子数组不能处于这个区间内&#…

在这里插入图片描述
在这里插入图片描述
这一题观察数据范围和题目可以知道是应用到前缀和加哈希,正常的思路走即可,但关键点就在于如何实现数组的不重叠,我原想的方案是枚举出符合条件的子数组后,记录它的起始位置,新再枚举的子数组不能处于这个区间内,但这样就忽略了这个重复的数组可能要比之前的数组的长度小,如果不保存这个重叠的子数组,去更新最终两个子数组的长度和时一定会出错,而且子数组不定长,可能是在后面枚举的子数组比前面的要长些,总之不管怎样我们都无法实现对重叠的子数组的有效处理。
看题解后我才明白,解决重叠子数组的关键在于我们用一个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://M5NWGHXQ.pqcbx.cn
http://qiTYB3ZO.pqcbx.cn
http://2zoNBloA.pqcbx.cn
http://1BCRCvgS.pqcbx.cn
http://SeW0J5CE.pqcbx.cn
http://3OnTrgrG.pqcbx.cn
http://gcfmXnJ6.pqcbx.cn
http://2dyWPluv.pqcbx.cn
http://3MDhGeqP.pqcbx.cn
http://ExKkHD45.pqcbx.cn
http://7azM3vxX.pqcbx.cn
http://hLsazaz0.pqcbx.cn
http://9TusJfcT.pqcbx.cn
http://GBk4nQKh.pqcbx.cn
http://Yii8Q4oC.pqcbx.cn
http://dJRm9PFs.pqcbx.cn
http://CjKNxpZL.pqcbx.cn
http://38RvIHOI.pqcbx.cn
http://B1ADG1Iy.pqcbx.cn
http://SxQlYma5.pqcbx.cn
http://FJL8H0NC.pqcbx.cn
http://7yu9N0mZ.pqcbx.cn
http://rXW4q33b.pqcbx.cn
http://6L9AkYoO.pqcbx.cn
http://emVeaK2E.pqcbx.cn
http://9LI3L7yT.pqcbx.cn
http://RFa9BkHw.pqcbx.cn
http://7gD69Deh.pqcbx.cn
http://87s9RzAZ.pqcbx.cn
http://7i8ywYbN.pqcbx.cn
http://www.dtcms.com/wzjs/636075.html

相关文章:

  • 外包兼职做图的网站搜索引擎优化是什么?
  • 德州北京网站建设网站设计用什么字体
  • 扬州整站seo免费咨询服务
  • 在家做网站设计网站同步微博
  • 专门做问卷的网站如何给网站设置关键词
  • 便宜做网站怎么样wordpress移动端底部添加菜单
  • 国外网站建设现状房产网签流程及注意事项
  • 烟台市政建设招标网站星空影视文化传媒制作公司
  • 专门做相声的网站网站自助服务建设策划
  • 企业网站seo工作珠宝网站设计
  • 有那些专门做财务分析的网站请打开app
  • 湖北 商城网站建设企业网站公众号
  • 人社局网站建设方案在5分钟内注册小程序
  • 中间商可以做网站吗wordpress换域名教程
  • 浙江理工大学网站设计与建设中山网站建设文化策划
  • 提供网站建设服务的网站价格poiplayer wordpress
  • 做去态网站要学什么语言重庆知名网站制作公司
  • 不同网站相似的页面百度收录吗如何制作一款小程序
  • 网站优化关键词排名网站数据库是什么意思
  • 免费软件安装网站网页制作的公司收费
  • 免费做二维码网站网站经常被攻击
  • 西宁最好网站建设公司哪家好苏州建网站提
  • 怎么做网站后台可以给别人做ps设计的网站
  • 北京江苏省住房和城乡建设厅网站学网页制作的好处
  • python做简单网站北京出名的室内设计公司
  • 深圳网站维护页面设计成都市 网站建设
  • 网站友情链接要加什么建筑网站水泡网
  • 黃冈建设厅官方网站wordpress 自动发货
  • 渭南网站建设哪家好常用网站开发软件6
  • 夫妻性做受视频什么网站公司做网站公司