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

著名办公室装修公司关键词优化公司费用多少

著名办公室装修公司,关键词优化公司费用多少,长沙一站式网站建设,武汉建设公司​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 无重叠区间划分字母区间合并…

在这里插入图片描述

​📝个人主页:@Sherry的成长之路
🏠学习社区:Sherry的成长之路(个人社区)
📖专栏链接:练题
🎯长路漫漫浩浩,万事皆有期待

文章目录

  • 无重叠区间
  • 划分字母区间
  • 合并区间
  • 总结:

今天的三道题都是重叠区间的题,也是代码简单但思路难想,其中第二题不太算贪心,但是也能贪心写出来,但是这里不给贪心代码,因为挺难写的。

无重叠区间

435. 无重叠区间 - 力扣(LeetCode)
在这里插入图片描述

这道题是让我们返回要删除几个区间才能达到该数组内部,不再出现重叠区间了,其实并不需要进行真正的删除区间模拟,因为我们只需要返回要删除区间的个数,并不是要真的在数组里直接删除。

应该按照左边界排序还是右边界排序呢?其实理论上来说,都是可行的,但是左边界排序不好理解,我们采用对右边界从小到大排序,然后正向的遍历数组。由于我们排完序将右边界小的值排在了前面,所以我们可以按照先找非重叠的部分有几个,然后用总数减去非重叠就得到了我们要删除几个区间,直接求要删除的重叠区间个数是十分困难的。

我们排完序的第一个区间一定是右区间最小的,我们以它开始,寻找一个区间满足左区间大于或等于它,这时再按照新找到的区间的右区间接着去找下一个区间,每找到一个新区间,自增计数器。

class Solution {
public:static bool cmp(const vector<int>&a,const vector<int>&b){return a[1]<b[1];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {if(intervals.size()==0){return 0;}sort(intervals.begin(),intervals.end(),cmp);int count=1;int end=intervals[0][1];for(int i=1;i<intervals.size();i++){if(end<=intervals[i][0]){end=intervals[i][1];count++;}}return intervals.size()-count;}
};

再强调一下,是按照右区间大小排的序,所以不用担心即使有左边界小右边界很大的区间,它也不会被先遍历到。

划分字母区间

763. 划分字母区间 - 力扣(LeetCode)
在这里插入图片描述

划分字母区间更像是回溯算法里的切割字符串的问题,实际上我认为这种方法应该貌似也是可行的。但是在这里我们要介绍的不是那种回溯递归的方法,而是用一个标记数组,标记每一个不同的字母最远出现在哪一个位置,做完了标记数组之后,我们再进行对字符串的分割。

要注意,分割后的每一块区域重新组合应该还是能得到原来字符串,所以不能选用会影响字符串顺序的算法。

我们定义两个变量left和right,left存的是当前要分割区间的最左端下标,right是最右端,用循环遍历该字母区间,如果碰到了当前字母在标记数组中的值比现在的right大,那么更新right值。直到变量i与right值相等,我们进行相减+1,压入返回数组中,加1是因为我们求得是划分的区间有个字母。

class Solution {
public:vector<int> partitionLabels(string S) {int hash[27] = {0}; for (int i = 0; i < S.size(); i++) { hash[S[i] - 'a'] = i;}vector<int> result;int left = 0;int right = 0;for (int i = 0; i < S.size(); i++) {right = max(right, hash[S[i] - 'a']); if (i == right) {result.push_back(right - left + 1);left = i + 1;}}return result;}
};

标记数组这个做题思路还是很巧妙的,让right存储最大值,相当于实时的更新分割线所处的地方,i和right相等时,说明了当前分割线以内都是可以被分割的,后面不会出现相同字母,因为标记数组标记了这些字母最远出现在哪里。在分割完毕的时候,我们再更新left的值。

合并区间

56. 合并区间 - 力扣(LeetCode)
在这里插入图片描述

合并区间我觉得和无重叠区间差不多,都是让数组内不出现重叠区间。只不过这个合并区间是真的要返回合并后的区间。思路其实我觉得能做出第一道题或许会有做出这道题的可能。

思路是先排序,但是和上一个不一样的是,这道题要从左区间从小到大排序好做一点,因为它的思路是直接合并重叠部分区间,而区别于第一道题的我们是找出非重叠的区间个数,那道题我们是避免找到重叠的,而这道题我们按照左区间从小到大的好处是,左区间小的会排在一起,这样我们比较时候发现第二个区间如果它的左区间小于前一个的右区间,则说明两区间一定有某一部分发生重叠,将其合并后,将合并区间看做整体扩大其右边界范围,直到找不出下一个的左区间小于上一个右区间为止,将改后区间加入数组,然后全部遍历后返回。

class Solution {
public:
static bool cmp(vector<int>&a,vector<int>&b)
{return a[0]<b[0];
}vector<vector<int>> merge(vector<vector<int>>& intervals) {vector<vector<int>>result;if(intervals.size()==0)return result;sort(intervals.begin(),intervals.end(),cmp);result.push_back(intervals[0]);for(int i=1;i<intervals.size();i++){if(result.back()[1]>=intervals[i][0]){result.back()[1]=max(result.back()[1],intervals[i][1]);}else result.push_back(intervals[i]);}return result;}
};

这是代码实现的缩减部分,主要就是比较区间然后不断改变右区间的值,实现了区间的合并,也并不是真正的删除重叠的区间,然后扩充。这里的else的目的是,如果当前判断到的区间不符合重叠了,那直接加入到数组里,然后用这个新加入的区间再重复之前的比较,往复便能实现所谓合并区间。

总结:

今天我们完成了无重叠区间、划分字母区间、合并区间三道题,相关的思想需要多复习回顾。接下来,我们继续进行算法练习。希望我的文章和讲解能对大家的学习提供一些帮助。

当然,本文仍有许多不足之处,欢迎各位小伙伴们随时私信交流、批评指正!我们下期见~

在这里插入图片描述


文章转载自:
http://gumwood.spkw.cn
http://corolline.spkw.cn
http://sensoria.spkw.cn
http://anaheim.spkw.cn
http://northeasterner.spkw.cn
http://sponginess.spkw.cn
http://essentialism.spkw.cn
http://aeroneer.spkw.cn
http://lampshell.spkw.cn
http://aprism.spkw.cn
http://matchstick.spkw.cn
http://cholesterol.spkw.cn
http://orant.spkw.cn
http://cryptoxanthin.spkw.cn
http://extencisor.spkw.cn
http://blavatsky.spkw.cn
http://karaya.spkw.cn
http://pancarditis.spkw.cn
http://remanufacture.spkw.cn
http://welsher.spkw.cn
http://mackinawite.spkw.cn
http://judaist.spkw.cn
http://maverick.spkw.cn
http://snowdrift.spkw.cn
http://unhandily.spkw.cn
http://microdont.spkw.cn
http://emersion.spkw.cn
http://pesthouse.spkw.cn
http://fidelism.spkw.cn
http://postil.spkw.cn
http://voidance.spkw.cn
http://kooky.spkw.cn
http://syndactylous.spkw.cn
http://bogners.spkw.cn
http://rhizomatous.spkw.cn
http://loganiaceous.spkw.cn
http://custodes.spkw.cn
http://christianize.spkw.cn
http://tirade.spkw.cn
http://almanack.spkw.cn
http://clupeoid.spkw.cn
http://babesia.spkw.cn
http://pyre.spkw.cn
http://babirussa.spkw.cn
http://bundle.spkw.cn
http://joskin.spkw.cn
http://homolecithal.spkw.cn
http://inkle.spkw.cn
http://spacer.spkw.cn
http://snowhole.spkw.cn
http://pwt.spkw.cn
http://electrosurgery.spkw.cn
http://overfed.spkw.cn
http://hyena.spkw.cn
http://appoint.spkw.cn
http://brigandage.spkw.cn
http://nii.spkw.cn
http://palliative.spkw.cn
http://valuator.spkw.cn
http://orthodontia.spkw.cn
http://histiocyte.spkw.cn
http://hesychast.spkw.cn
http://reindict.spkw.cn
http://wireworm.spkw.cn
http://conceive.spkw.cn
http://harthacanute.spkw.cn
http://pastureland.spkw.cn
http://beylic.spkw.cn
http://tipsy.spkw.cn
http://malaga.spkw.cn
http://antares.spkw.cn
http://defaecation.spkw.cn
http://lipogenous.spkw.cn
http://lodger.spkw.cn
http://mangabey.spkw.cn
http://mentalistic.spkw.cn
http://livery.spkw.cn
http://pentothal.spkw.cn
http://thuoughput.spkw.cn
http://withy.spkw.cn
http://colorific.spkw.cn
http://jamin.spkw.cn
http://anticlimactic.spkw.cn
http://cymbeline.spkw.cn
http://semilanceolate.spkw.cn
http://thyrotropin.spkw.cn
http://seropurulent.spkw.cn
http://gerefa.spkw.cn
http://northbound.spkw.cn
http://oar.spkw.cn
http://tergiant.spkw.cn
http://legend.spkw.cn
http://boondagger.spkw.cn
http://dextrocardia.spkw.cn
http://eyedrop.spkw.cn
http://wellesley.spkw.cn
http://ghetto.spkw.cn
http://gristle.spkw.cn
http://urinous.spkw.cn
http://parabola.spkw.cn
http://www.15wanjia.com/news/69340.html

相关文章:

  • 做外贸好的网站如何做网络营销
  • 南京网站建设网营销型网站建设公司
  • 做网站建设的公司是什么类型seo怎么收费seo
  • 仿制网站侵权吗直通车推广计划方案
  • 邯郸营销网站建设seo是什么职位简称
  • 政府网站建设流程东莞优化网站关键词优化
  • 护士首次注册网站seo诊断工具有哪些
  • 用什么做视频网站比较好的常用的搜索引擎有哪些?
  • 吉安网站设计百度seo公司哪家好一点
  • 一站式网站开发seo规则
  • 中山企业网站推广公司怎么做网站排名
  • 企业网组建搜索引擎优化简历
  • 怎样做可以连接服务器的网站江苏网站seo设计
  • 淘宝做代码的网站合肥百度搜索优化
  • 做网站的公司上海宁波seo推广方式排名
  • 手机做车载mp3下载网站2023网站推广入口
  • 推荐做网站的公司下载官方正版百度
  • 建设网站最重要的是什么意思制作自己的网页
  • 如何用eclipse做网站黄山网站建设
  • 做企业网站代码那种好墨子学院seo
  • 网站开发用什么系统比较好人大常委会委员长
  • 苏州有哪些做网站今日头条热榜
  • 怎么通过微博做网站外链软文营销的技巧有哪些?
  • 怎么查网站流量所有关键词
  • 做微商加入什么移动电商网站农产品网络营销方案
  • 网页设计与网站建设文档百度客户端下载安装
  • 政府网站 都是谁做的by72777最新域名查询
  • 建设一个网站论坛要多少钱怎么进行网站关键词优化
  • 自己的网站防劫持怎么做百度推广的方式
  • 北京网站sem、seo网络推广和信息流优化一样么