代码随想录算法训练营第三十天-贪心算法-763. 划分字母区间

  • 标记字符最远位置,这是人能想到的?
  • 定义一个26个字母的数组,下标表示字母的位置,数组值表示当前字母在字符串中遍历过程中所处的位置
  • 算法题目无厘头太多,但解法也是太精彩,可是根本记不住,要每日刷,每日精进
cpp 复制代码
#include <iostream>
#include <vector>

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

int main()
{
    Solution s;
    return 0;
}
相关推荐
TL滕21 小时前
从0开始学算法——第八天(堆排序)
笔记·学习·算法·排序算法
Ayanami_Reii21 小时前
进阶数据结构-AC自动机
数据结构·算法·动态规划·字符串·ac自动机
崇山峻岭之间21 小时前
C++ Prime Plus 学习笔记030
c++·笔记·学习
报错小能手21 小时前
数据结构 AVL二叉平衡树
数据结构·算法
l1t21 小时前
利用Duckdb求解Advent of Code 2025第5题 自助餐厅
数据库·sql·mysql·算法·oracle·duckdb·advent of code
List<String> error_P1 天前
C语言枚举类型
算法·枚举·枚举类型
liu****1 天前
20.预处理详解
c语言·开发语言·数据结构·c++·算法
努力学算法的蒟蒻1 天前
day26(12.6)——leetcode面试经典150
算法·leetcode·面试
代码游侠1 天前
数据结构——哈希表
数据结构·笔记·学习·算法·哈希算法·散列表
ULTRA??1 天前
moonbit关于模式匹配中的变量绑定
开发语言·c++·人工智能