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

常州新北建设局网站做美食网站的项目背景

常州新北建设局网站,做美食网站的项目背景,东莞横沥理工学校,深圳集团网站建设专业公司划分字母区间 题目内容 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串 "ababcc" 能够被分为 ["abab","cc"],但类似["aba","bcc&quo…

划分字母区间

    题目内容

    给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串 "ababcc" 能够被分为 ["abab","cc"],但类似["aba","bcc"] 或 ["ab","ab","cc"] 的划分是非法的。

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

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

    输入描述

    一个字符串 s

    输出描述

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

    样例1

    输入

    ababcbacadefegdehijhklij
    

    Copy

    输出

    9 7 8
    

    Copy

    说明

    划分结果为 "���������ababcbaca"、"�������defegde"、"ℎ��ℎ����hijhklij" 。

    每个字母最多出现在一个片段中。

    像 "����������������ababcbacadefegde", "ℎ��ℎ����hijhklij" 这样的划分是错误的,因为划分的片段数较少。

    样例2

    输入

    eccbbbbdec
    

    输出

    10
    

    解答:

    从左至右记录每个字符的最大位置即可。重新遍历时如果最大位置超出范围就延长。

    时间复杂度O(n),空间复杂度O(1)

    #include<bits/stdc++.h>
    using namespace std;
    int main(){vector<int>right(26,-1);string s;cin>>s;int n=s.size();for(int i=0;i<n;i++){right[s[i]-'a']=i;}vector<int>ans;int l=0,r=0;for(int i=0;i<n;i++){if(i<=r){r=max(r,right[s[i]-'a']);}else{ans.push_back(r-l+1);l=i;r=right[s[i]-'a'];}}ans.push_back(r-l+1);cout<<ans[0];for(int i=1;i<ans.size();i++){cout<<" "<<ans[i];}cout<<endl;return 0;
    }
    http://www.dtcms.com/a/519264.html

    相关文章:

  • 网站优化包括哪些内容网站建设公司简介模板
  • 12380网站建设情况报告网站 繁体 js
  • 万域网站建设教育培训机构
  • 如何推广运营网站兴义城乡建设部网站
  • 互动网站的核心技术网站产品页面
  • 功能型网站建设需要多少钱在线做ppt的网站
  • 泰国做性的短视频网站挣钱最快的游戏
  • 网站更新了阿里建设网站
  • wordpress全站静态化html图标代码大全
  • 小程序价格为什么比网站建设高做移动网站优化快速
  • h5企业网站只做自己做网站做那种类型
  • 中山网站建设收费标准佛山网站优化流程
  • jsp做的当当网站的文档免费的网站开发软件
  • 网站 防 恶意注册一键生成网站
  • 射阳做网站公司国家免费技能培训
  • 公司做营销型网站花都区建设工程造价管理网站
  • 做a免费网站有哪些ui设计效果图
  • 涪陵网站建设邢台做网站优化费用
  • 做淘客一定要建网站吗网站开发技术试验教程
  • 做网站公司那家好网站后台用什么语言合适
  • 网站建设与推广方案模板wordpress标签页面跳转
  • 介绍湛江网站广西网站建设原创
  • 海口网站建设平台四海网络网站建设建站
  • 汉字域名的网站有哪些微信棋牌小程序开发教程
  • 怎么建设自己网站的后台辽宁住房建设厅网站首页
  • 网站域名解释怎么做淮北市建设工程信息网
  • 小白如何自己做网站办公室装修费怎么做账
  • 百度网站如何优化排名rpg制作大师
  • 山西网站建设服务汕头保洁公司
  • 外吐司做的阿里巴巴的网站网站直接跳转