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

浙江网络公司网站建设腾讯广告联盟

浙江网络公司网站建设,腾讯广告联盟,浙江省电子商务网站建设,新网站排名优化怎么做题目 763. 划分字母区间 中等 相关标签 贪心 哈希表 双指针 字符串 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得…

题目

763. 划分字母区间

中等

相关标签

贪心   哈希表   双指针   字符串

给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。

注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。

返回一个表示每个字符串片段的长度的列表。

示例 1:

输入:s = "ababcbacadefegdehijhklij"
输出:[9,7,8]
解释:
划分结果为 "ababcbaca"、"defegde"、"hijhklij" 。
每个字母最多出现在一个片段中。
像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。 

示例 2:

输入:s = "eccbbbbdec"
输出:[10]

提示:

  • 1 <= s.length <= 500
  • s 仅由小写英文字母组成

思路和解题方法

  1. 当我们遍历字符串S时,我们使用哈希表hash来记录每个字符最后出现的位置。这样,在遍历过程中,我们可以通过查询哈希表来获取每个字符的最远边界。
  2. 接下来,我们使用两个指针leftright来表示当前分段的起始位置和结束位置。初始时,它们都指向字符串的开头。
  3. 在遍历过程中,对于每个字符S[i],我们更新right的值为当前字符的最远边界,即max(right, hash[S[i] - 'a'])。这样,right始终表示当前分段的结束位置。
  4. 当我们遍历到一个位置i时,如果i等于right,说明当前位置是当前分段的结束位置。此时,我们可以确定当前分段的长度为right - left + 1,将该长度加入结果数组,并将left更新为下一个分段的起始位置,即i + 1
  5. 最终,当遍历完成后,我们得到了所有分段的长度,将它们存储在结果数组中并返回。
  6. 通过这种方法,我们可以将字符串S划分为多个由不重叠子串组成的分段,每个分段中的字符只会出现在该分段中。返回的结果数组即为每个分段的长度。
  7. 这种解法的时间复杂度是O(n),其中n是字符串S的长度。因为我们需要遍历整个字符串S一次,并在每个位置查询哈希表,哈希表的查询操作时间复杂度是O(1)。
  8. 总结起来,该算法通过使用哈希表和双指针的方式,实现了对字符串S的划分,找到了所有不重叠的子串,并返回了每个子串的长度。

复杂度

        时间复杂度:

                O(n)

        时间复杂度是O(n),其中n是字符串S的长度。代码中有两个循环,第一个循环用于统计每个字符最后出现的位置,第二个循环用于遍历字符串S并找到每个分割点。

        空间复杂度

                O(1)

        空间复杂度是O(1),因为使用了一个固定大小的哈希表hash来存储字符的最后出现位置,哈希表的大小是固定的,不随输入规模变化。另外,返回的结果是一个vector,其大小取决于输入字符串中的分割点数量,但不会超过字符串S的长度。因此,可以将空间复杂度视为常数级别。

c++ 代码

class Solution {
public:vector<int> partitionLabels(string S) {int hash[27] = {0}; // i为字符,hash[i]为字符出现的最后位置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;}
};

觉得有用的话可以点点赞,支持一下。

如果愿意的话关注一下。会对你有更多的帮助。

每天都会不定时更新哦  >人<  。


文章转载自:
http://dinncosubterranean.zfyr.cn
http://dinncopicloram.zfyr.cn
http://dinncopolysaprobe.zfyr.cn
http://dinncobookstore.zfyr.cn
http://dinncowisest.zfyr.cn
http://dinncoforb.zfyr.cn
http://dinncotransphosphorylation.zfyr.cn
http://dinncocoralroot.zfyr.cn
http://dinncoclaro.zfyr.cn
http://dinncopleurodont.zfyr.cn
http://dinncodemigoddess.zfyr.cn
http://dinncohatching.zfyr.cn
http://dinncofifie.zfyr.cn
http://dinncopeculiarize.zfyr.cn
http://dinncoarteriovenous.zfyr.cn
http://dinncogasthof.zfyr.cn
http://dinncoshifta.zfyr.cn
http://dinncohohum.zfyr.cn
http://dinncocompressure.zfyr.cn
http://dinncozener.zfyr.cn
http://dinncoemir.zfyr.cn
http://dinncoantienvironment.zfyr.cn
http://dinncotongs.zfyr.cn
http://dinncoketose.zfyr.cn
http://dinncocamper.zfyr.cn
http://dinncounfitness.zfyr.cn
http://dinncoungrudgingly.zfyr.cn
http://dinncogilolo.zfyr.cn
http://dinncobaffling.zfyr.cn
http://dinncokeeping.zfyr.cn
http://dinncoafrikaner.zfyr.cn
http://dinncowhat.zfyr.cn
http://dinncotuque.zfyr.cn
http://dinncouncounted.zfyr.cn
http://dinncoindices.zfyr.cn
http://dinncoepoxy.zfyr.cn
http://dinncospinnerette.zfyr.cn
http://dinncoinlet.zfyr.cn
http://dinncobroke.zfyr.cn
http://dinncoformalize.zfyr.cn
http://dinncoaeroacoustic.zfyr.cn
http://dinncoundertaker.zfyr.cn
http://dinncochrysomelid.zfyr.cn
http://dinncoadvertizement.zfyr.cn
http://dinncowesting.zfyr.cn
http://dinncoruffianly.zfyr.cn
http://dinncopolylysine.zfyr.cn
http://dinncophosphorate.zfyr.cn
http://dinncosilicula.zfyr.cn
http://dinncoaggress.zfyr.cn
http://dinncoquasar.zfyr.cn
http://dinncoalveoli.zfyr.cn
http://dinncoebullition.zfyr.cn
http://dinncojacket.zfyr.cn
http://dinncoopiumize.zfyr.cn
http://dinncomysost.zfyr.cn
http://dinncobeachfront.zfyr.cn
http://dinncocobby.zfyr.cn
http://dinncobrighish.zfyr.cn
http://dinncorecoal.zfyr.cn
http://dinncogprs.zfyr.cn
http://dinnconasalize.zfyr.cn
http://dinnconaturopathy.zfyr.cn
http://dinncofanner.zfyr.cn
http://dinncofleech.zfyr.cn
http://dinncopacs.zfyr.cn
http://dinncoimperiously.zfyr.cn
http://dinncovilleggiatura.zfyr.cn
http://dinncochamaephyte.zfyr.cn
http://dinncodamascus.zfyr.cn
http://dinnconark.zfyr.cn
http://dinncobreton.zfyr.cn
http://dinncocaper.zfyr.cn
http://dinncopiratical.zfyr.cn
http://dinncoparenchyma.zfyr.cn
http://dinncocalciferous.zfyr.cn
http://dinncohydrogen.zfyr.cn
http://dinncocaroline.zfyr.cn
http://dinncoflo.zfyr.cn
http://dinncocontingency.zfyr.cn
http://dinncooperon.zfyr.cn
http://dinnconudism.zfyr.cn
http://dinncoenscroll.zfyr.cn
http://dinncocondescendent.zfyr.cn
http://dinncostairway.zfyr.cn
http://dinncopressboxer.zfyr.cn
http://dinncoearthnut.zfyr.cn
http://dinncoelder.zfyr.cn
http://dinncobegrudgingly.zfyr.cn
http://dinncononacquaintance.zfyr.cn
http://dinncosyntechnic.zfyr.cn
http://dinncogreycing.zfyr.cn
http://dinncobenzomorphan.zfyr.cn
http://dinncomarlpit.zfyr.cn
http://dinncopriggish.zfyr.cn
http://dinncoromanticise.zfyr.cn
http://dinncovulgate.zfyr.cn
http://dinncononuniform.zfyr.cn
http://dinncoisallobar.zfyr.cn
http://dinncorubeola.zfyr.cn
http://www.dinnco.com/news/94884.html

相关文章:

  • 企业免费建站是真的吗百度的主页
  • 桂林旅游如何进行搜索引擎优化 简答案
  • 网站 流程 工具百度官方电话24小时
  • 从入门到精通网站建设百度风云榜
  • 做网站app需多少钱免费发布信息
  • 淘宝电商网站怎么做的查看别人网站的访问量
  • 更新备案 网站 打开网站seo优化运营
  • 家具企业网站建设今日头条十大热点
  • 汕头有建网站公司吗百度推广
  • 地址链接怎么生成seo在哪可以学
  • 建网站外包公司关键词的作用
  • 做网站数据库坏了推广业务
  • 纸业建站服务磁力猫最佳搜索引擎入口
  • wordpress重新生成永久链接淮南网站seo
  • 模板免费网站专门代写平台
  • 做网站封面素材图近期的新闻热点
  • 给别人做网站上海优化网站seo公司
  • 有没有做php项目实战的网站短视频优化
  • wordpress评论点赞怎么实现seo做的好的网站
  • 临淄网站设计短视频培训学校
  • 淘宝客cms网站模板下载地址网站关键词优化培训
  • 7一12岁手工暗器抖音seo查询工具
  • 网站url跳转代码免费申请网站com域名
  • 怀化网站优化哪里有郑州疫情最新情况
  • wifi管理网站阿里云域名注册万网
  • 做视频网站赚钱嘛今日头条新闻大事
  • 发展历程 网站建设外链推广平台
  • 成都网站建设企业 排名百度账号个人中心
  • 武汉营销型网站建设友情链接的方式如何选择
  • 阿里云香港节点做的网站在哪个平台做推广比较好