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

锦州网站建设品牌免费网站制作

锦州网站建设品牌,免费网站制作,网站建设的品牌,网页小游戏点击即玩763. 划分字母区间 本题目,“同一字母最多出现在一个片段中”,因为这句话,所以本质上 这道题目属于合并区间 一、算法逻辑(逐步思路) ✅ 目标: 将字符串 s 划分成尽可能多的片段,要求&#xf…

763. 划分字母区间

本题目,“同一字母最多出现在一个片段中”,因为这句话,所以本质上

这道题目属于合并区间


一、算法逻辑(逐步思路)

✅ 目标:

将字符串 s 划分成尽可能多的片段,要求:

  • 每个字母最多只出现在一个片段中;
  • 所有片段拼接后仍是原始字符串;
  • 返回每个片段的长度。

✅ 实现逻辑:

  1. 先预处理:
    • 用字典 last 记录字符串中每个字母最后一次出现的位置
    • 例如:s = "ababcbacadefegdehijhklij",其中 'a' 最后出现在 8,'e' 出现在 15,等等。
  1. 开始遍历划分:
    • 初始化两个指针:start 表示当前片段的起点,end 表示当前片段的最远右端;
    • 遍历字符串:
      • 对每个字符 c,更新当前片段的 endmax(end, last[c])
      • 如果当前位置 i == end,说明这个片段封闭了(它包含了所有出现在其中字符的最后位置):
        • 计算这个片段的长度为 end - start + 1
        • 把它加入答案;
        • 然后更新 start = i + 1,准备开始下一个片段。

二、算法核心点

✅ 核心思想:贪心策略 + 动态区间合并

  • 核心贪心策略是:
    • 对于当前片段内出现的所有字母,都要等它们“最后一次出现”后,才可以结束这个片段;
    • 所以,我们用 end 表示当前片段中所有字符的最远结束点
    • 一旦遍历指针 i 到达 end,说明这个片段所有相关字符都封闭了,可以切一刀。
  • 这个过程贪心的地方在于:
    • 每次划分尽可能早地结束当前片段(在刚好满足“所有字符都只出现在一个片段”的条件下),从而得到更多的片段。
class Solution:def partitionLabels(self, s: str) -> List[int]:last = {c: i for i, c in enumerate(s)}  # 每个字母最后出现的下标ans = []start = end = 0for i, c in enumerate(s):end = max(end, last[c])  # 更新当前区间右端点的最大值if end == i:  # 当前区间合并完毕ans.append(end - start + 1)  # 区间长度加入答案start = i + 1  # 下一个区间的左端点return ans

三、复杂度分析

  • 时间复杂度:O(n)
    • 第一次遍历构造 last:O(n);
    • 第二次遍历划分字符串:O(n);
    • 总共是线性时间复杂度。
  • 空间复杂度:O(1)(常数级)
    • 虽然用了一个字典 last,但它最多存 26 个小写字母,属于常数空间。

✅ 总结表:

维度

内容

✅ 思路逻辑

利用每个字符最后出现位置,动态维护区间右边界,贪心切片

✅ 核心技巧

贪心:延迟切片直到当前片段中所有字母的最后出现位置都包含为止

✅ 时间复杂度

O(n),两次遍历字符串

✅ 空间复杂度

O(1),字母表大小固定,最多用 26 个键值对


文章转载自:

http://dqrQNAe1.sqgsx.cn
http://kvFrRbrX.sqgsx.cn
http://V2dIOr6j.sqgsx.cn
http://hEUknNmC.sqgsx.cn
http://fPPZHeF2.sqgsx.cn
http://4W56lUtH.sqgsx.cn
http://JQ1RaRYC.sqgsx.cn
http://eUrwF3vK.sqgsx.cn
http://F1IidiNm.sqgsx.cn
http://NhYZmnTP.sqgsx.cn
http://SQBEMpI6.sqgsx.cn
http://6Ocwxu2c.sqgsx.cn
http://KK1TlGth.sqgsx.cn
http://F3W3P59i.sqgsx.cn
http://kiCvtSRz.sqgsx.cn
http://jKr2ilAO.sqgsx.cn
http://RE6PDhJx.sqgsx.cn
http://5FtboSo9.sqgsx.cn
http://9VDXYYYC.sqgsx.cn
http://O3HeqeX8.sqgsx.cn
http://PTUMkrnh.sqgsx.cn
http://ICLcHwYe.sqgsx.cn
http://c2w3We7g.sqgsx.cn
http://KzG5j8Pd.sqgsx.cn
http://nKSKz3fn.sqgsx.cn
http://IIR0DIqe.sqgsx.cn
http://tQV3Uv8Q.sqgsx.cn
http://Z3Xl49de.sqgsx.cn
http://2IxsDhAX.sqgsx.cn
http://zcHWDKJu.sqgsx.cn
http://www.dtcms.com/wzjs/741298.html

相关文章:

  • 创建自己网站的步骤seo积分系统
  • 地方网站怎么做推广wordpress采集ins
  • 怎么利用爬虫技术 提高网站排名怎么夸一个网站做的好看
  • 广州淘宝网站建设wordpress会务网站模版
  • 网站下面版权代码天眼查企业查询官网网页版
  • 集团公司网站建设网页设计与制作题库及答案
  • 北京网站制作闪快莱芜车管所网站
  • 查房价的官方网站怎么给网站添加统计代码
  • 做网站接私活中山市城乡建设局网站
  • 宁波房产信息网整站优化seo排名点击
  • 全球网站排名查询登封快乐送餐在那个网站做的广告
  • 做外贸网站用哪些小语种苏州市网站建设培训班
  • 建设通和天眼查网站网站设计书
  • 群晖wordpress打不开链接优化方法
  • 广东网站设计专业团队东营seo网站推广
  • 网站备案 超链接关键词挖掘方法
  • 现有的网站开发技术做国外服务器网站吗
  • 石家庄网站建设登录建设网站网站
  • 创意礼品做的比较好的网站Wordpress托管 点点
  • 广东建设公司网站摄影网站模板下载
  • title 门户网站建设招标书专业定制网站企业
  • 做传感器的网站企业网站建设协议范本
  • 做国内打不开的网站企业vi设计公司标准版
  • 长泰建设局网站佛山高端画册设计公司
  • 北京网站改版公司美团企业邮箱认证怎么弄
  • 织梦统计网站访问量代码网站怎么做备案号超链接
  • 个人在湖北建设厅网站申请强制注销建设局网
  • 网站建设维护学什么科目郑州市建设局网站
  • 中国空间站实时位置如何网上快速接网站开发订单
  • 网站建设方网站开发的基本流程 岗位及职责