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

佛山做网站公司网站顶部小图标怎么做

佛山做网站公司,网站顶部小图标怎么做,wordpress注册相关,百度app旧版本下载文章目录 Leetcode 435. 无重叠区间Leetcode 763.划分字母区间Leetcode 56. 合并区间 Leetcode 435. 无重叠区间 题目链接#xff1a; Leetcode 435. 无重叠区间 题目描述#xff1a; 给定一个区间的集合 intervals #xff0c;其中 intervals[i] [starti, endi] 。返回需… 文章目录 Leetcode 435. 无重叠区间Leetcode 763.划分字母区间Leetcode 56. 合并区间 Leetcode 435. 无重叠区间 题目链接 Leetcode 435. 无重叠区间 题目描述 给定一个区间的集合 intervals 其中 intervals[i] [starti, endi] 。返回需要移除区间的最小数量使剩余区间互不重叠 。 思路 本题需要求移除区间最小值由于要移除最小个数的区间因此我们首先要让集合内区间尽可能重叠然后统计重叠区间数量 解题步骤 先对集合根据左区间排序右区间也可以遍历集合遇到重叠区间之后根据当前集合与上一个集合二者的右区间最小值来更新。 为什么需要用最小值来更新集合右区间假设当前遍历集合为i由于我们已经判断了i和i-1存在重叠区间该重叠区间后续称为O接下来需要判断i1与O是否存在重叠区间因此需要根据O的右区间也就是i与i-1右区间最小值。 代码如下 class Solution { public://根据左区间排序static bool cmp(const vectorint a, const vectorint b) {return a[0] b[0];}int eraseOverlapIntervals(vectorvectorint intervals) {int cnt 0;if (intervals.size() 0)return 0;sort(intervals.begin(), intervals.end(), cmp);for (int i 1; i intervals.size(); i) {if (intervals[i][0] intervals[i - 1][1]) {//如果存在重叠区间cnt;//更新当前集合的右区间(方便接下来判断是否重叠)intervals[i][1] min(intervals[i - 1][1], intervals[i][1]);}}return cnt;} };时间复杂度 O ( n l o g n ) O(nlogn) O(nlogn)空间复杂度 O ( n ) O(n) O(n),主要取决于快排所用的栈空间这是最坏情况最好情况是 O ( l o g n ) O(logn) O(logn) Leetcode 763.划分字母区间 题目链接 Leetcode 763.划分字母区间 题目描述 给你一个字符串 s。我们要把这个字符串划分为尽可能多的片段同一字母最多出现在一个片段中。 注意划分结果需要满足将所有划分结果按顺序连接得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 思路 首先遍历字符串寻找每个字母的最远边界由于本题哈希表长度确定且较小因此可以利用数组模拟哈希表。 解题步骤 统计每一个字符最后出现的位置从头遍历字符并更新字符的最远出现下标如果找到字符最远出现位置下标和当前下标相等了则找到了分割点 代码如下 class Solution { public:vectorint partitionLabels(string s) {int hash[27] {0};for (int i 0; i s.size(); i) { // 统计每一个字符最后出现的位置hash[s[i] - a] i;}vectorint result;int left 0, 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 right 1;}}return result;} };时间复杂度 O ( n ) O(n) O(n)空间复杂度 O ( 1 ) O(1) O(1) Leetcode 56. 合并区间 题目链接 Leetcode 56. 合并区间 题目描述 以数组 intervals 表示若干个区间的集合其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间并返回一个不重叠的区间数组该数组需恰好覆盖输入中的所有区间 。 思路 首先判断区间是否重叠如果重叠则更新右区间如何更新右区间以及原因看这里的解释Leetcode 435. 无重叠区间如果不重叠则加入结果。 代码如下 class Solution { public:static bool cmp(const vectorint a, const vectorint b) {return a[0] b[0];}vectorvectorint merge(vectorvectorint intervals) {vectorvectorint result;sort(intervals.begin(), intervals.end(), cmp);result.push_back(intervals[0]);for (int i 1; i intervals.size(); i) {if (intervals[i][0] result.back()[1]) {//发现重叠区间就更新右边界result.back()[1] max(intervals[i][1], result.back()[1]);} else {result.push_back(intervals[i]);}}return result;} };时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)空间复杂度: O ( n ) O(n) O(n),主要取决于快排所用的栈空间这是最坏情况最好情况是 O ( l o g n ) O(logn) O(logn) 总结 今天的第二道题Leetcode 763.划分字母区间这种思路值得学习一下。剩下两道题是有关重叠区间的问题理解思路之后并不难。 最后如果文章有错误请在评论区或私信指出让我们共同进步
http://www.zqtcl.cn/news/792875/

相关文章:

  • 网络营销推广合同天津网站seo策划
  • 明年做那个网站致富wordpress loper
  • 网站开发原理柳州网站推广
  • 杭州高端网站开发重庆网站建设去迅法网
  • 营销型网站建设调查表用flash做游戏下载网站
  • 企业网站申请流程北京网站建设北京
  • 响应式网站导航栏模板python开发wordpress
  • 大学生创新创业大赛一个网站做两个优化可以做吗
  • 网站设计建设铁总建设函网站
  • 做期货都看哪个网站什么是网络营销的综合工具
  • 专做袜子的网站北京学设计去哪个网站好
  • 一搜网站制作网站支付怎么做
  • 广州 科技网站建设公司国外酷炫flash网站
  • 焦作网站建设焦作wordpress怎么进行301 htaccess
  • 那个网站能找到人做品牌文化的网站
  • 家里做网站买什么服务器好网站建设报价单 文库
  • 网站百度建设银行广西分行招聘网站
  • 打开网站显示404北京公司请做网站工资
  • 网站开发验收流程图app开发制作的图片
  • 网站流量的作用app定制开发和模板开发的区别
  • 如何做分公司网站网站建设与设计开题报告
  • 易语言怎么做网站网络推广客户渠道
  • 唐山哪里有做网站的网站服务器在
  • 网络服务机构的网站广东省住房及建设厅官方网站
  • 工业设计灵感网站商务网页设计与制作微课版答案
  • 如何引用网站上的资料做文献学历提升的正规机构
  • 如何上传wordpress程序聊城网站优化案例
  • 婚纱网站设计目标无代码制作网页
  • 温州网站提升排名打开搜索引擎
  • 企业市场网络推广方案优化方案答案