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

每日一题——763. 划分字母区间

题目链接:763. 划分字母区间 - 力扣(LeetCode)

代码:
 

class Solution {
public:
    vector<int> partitionLabels(string s) {
        //统计每个单词的最远出现位置
        int hash[27] = {0};
        for(int i = 0;i < s.size();i++)
        {
            hash[s[i] - 'a'] = i;
        }

        int left = 0;
        int right = 0;
        vector<int> result;
        for(int i = 0; i < s.size();i++)
        {
            right = max(right,hash[s[i] - 'a']);
            if(right == i)
            {   
                result.push_back(right-left+1);
                left = i+1;
            }
        }
        return result;
    }
};

贪心策略:
找到每个字母的最远出现位置,遍历s,如果i就是这个区间所有位置的最远出现位置,说明这个区间的所有字母都只出现再left到i了,此为一个区间,更新left为i+1,找下一个区间。

相关文章:

  • 【面试】Java 并发
  • 基于stm32的模拟电磁曲射炮研究
  • mysql的Innodb最大支持的索引长度是多少,以及索引长度怎么计算
  • Leetcode 3479. Fruits Into Baskets III
  • 蓝桥杯第二天:2023省赛C 1题 分糖果
  • unordered_set 的常用函数
  • 【python】Flask web框架
  • ble.sh 的安装和用法
  • 如何在SpringBoot中灵活使用异步事件?
  • C++—vector类的使用及模拟实现
  • Windows 11下Git Bash执行cURL脚本400问题、CMD/PowerShell不能执行多行文本等问题记录及解决方案
  • 进程(上)【Linux操作系统】
  • Web基础:HTML快速入门
  • doris:Elasticsearch
  • 六轴传感器ICM-20608
  • 10. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--认证
  • VBA 数据库同一表的当前行与其他行的主键重复判断实现方案1
  • Spike RISC-V ISA 模拟器
  • doris :SAP HANA
  • gRPC学习笔记
  • wordpress后台账号密码忘记/成都百度网站排名优化
  • 网站销售怎么做的/北京计算机培训机构哪个最好
  • 牛牛襄阳做网站/网络销售工作靠谱吗
  • 网站建设的公司服务/百度认证
  • dw如何做网站界面/上海百度推广客服电话多少
  • 瘦身网站开发目的/武汉seo招聘