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

湖南自考网站建设与管理建站之星网站建设下载版

湖南自考网站建设与管理,建站之星网站建设下载版,广州学习做网站建设的学校,专业网站建设顾问题目 763. 划分字母区间 中等 相关标签 贪心 哈希表 双指针 字符串 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段#xff0c;同一字母最多出现在一个片段中。 注意#xff0c;划分结果需要满足#xff1a;将所有划分结果按顺序连接#xff0c;得…题目 763. 划分字母区间 中等 相关标签 贪心   哈希表   双指针   字符串 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段同一字母最多出现在一个片段中。 注意划分结果需要满足将所有划分结果按顺序连接得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 示例 1 输入s ababcbacadefegdehijhklij 输出[9,7,8] 解释 划分结果为 ababcbaca、defegde、hijhklij 。 每个字母最多出现在一个片段中。 像 ababcbacadefegde, hijhklij 这样的划分是错误的因为划分的片段数较少。 示例 2 输入s eccbbbbdec 输出[10]提示 1 s.length 500s 仅由小写英文字母组成 思路和解题方法 当我们遍历字符串S时我们使用哈希表hash来记录每个字符最后出现的位置。这样在遍历过程中我们可以通过查询哈希表来获取每个字符的最远边界。接下来我们使用两个指针left和right来表示当前分段的起始位置和结束位置。初始时它们都指向字符串的开头。在遍历过程中对于每个字符S[i]我们更新right的值为当前字符的最远边界即max(right, hash[S[i] - a])。这样right始终表示当前分段的结束位置。当我们遍历到一个位置i时如果i等于right说明当前位置是当前分段的结束位置。此时我们可以确定当前分段的长度为right - left 1将该长度加入结果数组并将left更新为下一个分段的起始位置即i 1。最终当遍历完成后我们得到了所有分段的长度将它们存储在结果数组中并返回。通过这种方法我们可以将字符串S划分为多个由不重叠子串组成的分段每个分段中的字符只会出现在该分段中。返回的结果数组即为每个分段的长度。这种解法的时间复杂度是O(n)其中n是字符串S的长度。因为我们需要遍历整个字符串S一次并在每个位置查询哈希表哈希表的查询操作时间复杂度是O(1)。总结起来该算法通过使用哈希表和双指针的方式实现了对字符串S的划分找到了所有不重叠的子串并返回了每个子串的长度。 复杂度 时间复杂度: O(n) 时间复杂度是O(n)其中n是字符串S的长度。代码中有两个循环第一个循环用于统计每个字符最后出现的位置第二个循环用于遍历字符串S并找到每个分割点。 空间复杂度 O(1) 空间复杂度是O(1)因为使用了一个固定大小的哈希表hash来存储字符的最后出现位置哈希表的大小是固定的不随输入规模变化。另外返回的结果是一个vector其大小取决于输入字符串中的分割点数量但不会超过字符串S的长度。因此可以将空间复杂度视为常数级别。 c 代码 class Solution { public:vectorint partitionLabels(string S) {int hash[27] {0}; // i为字符hash[i]为字符出现的最后位置for (int i 0; i S.size(); i) { // 统计每一个字符最后出现的位置hash[S[i] - a] i;}vectorint 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://www.hkea.cn/news/14281538/

相关文章:

  • 网站名拍卖价格网站建设需求计划书
  • 如何做自己的淘宝网站wordpress做的企业官网
  • 如何设计制作企业网站中山seo
  • 苏州网站建设开发云南省建设工程招标投标行业协会网站
  • dedecms模板站源码django校园网站开发
  • 长春网站网站建设广州公司注册流程及材料
  • 唯美音乐图文网站建设惠州seo网站管理
  • 服务器iis做网站网站建设与网页设计pdf
  • 网站后台系统的易用性网站解析域名
  • 营销型企业网站建设的内容网络维护工作总结范文
  • 海门网站制作如何建设和优化网站
  • 无锡定制网站建设公众号如何推广产品
  • asp网站模板下载网站建设 电子书
  • 烟台优化网站深圳牌申请网站空间
  • wordpress 卖票的插件济南网络优化推广
  • 湖南智能网站建设平台网页软件开发
  • 建设企业网站包含什么静态网站论文目录
  • 地方网站域名选择中国著名的个人网站
  • 北京移动端网站设计适合女人的小型加工厂
  • 东营网站建设那家好wap网站在线生成
  • 中国网站制作企业排行榜企业网站内容如何备案
  • 商城网站建设课设网页编辑工具是什么
  • 网页网站设计制作wordpress 分类 文章数
  • 广州网站设计流程管理咨询公司是做什么
  • 服装网站建设平台分析阿里云做电影网站吗
  • 上海的招聘网站有哪些网站怎么做才
  • 网站建设選平台网站制作方法
  • 网站会员管理哪里可以免费注册网站
  • 红色主题网站模板cdq百度指数
  • 网站怎么做边框医疗网站