代码随想录算法训练营第三十天-贪心算法-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;
}
相关推荐
周末也要写八哥2 分钟前
浅谈:C++中cpp 14 ~ cpp 17
开发语言·c++·算法
不会C语言的男孩5 分钟前
C++ Primer 第13章:拷贝控制
开发语言·c++
c2385613 分钟前
map和set
数据结构·c++
basketball61618 分钟前
C++进阶:3. unique_ptr 现代C++内存管理的基石
java·jvm·c++
FFZero119 分钟前
[mpv脚本系统] (三) C 函数如何注册成 Lua 模块
c++·音视频·lua
我不是懒洋洋22 分钟前
从零实现一个Redis客户端:RESP协议与网络编程
开发语言·c++
许彰午23 分钟前
13_HashMap底层原理详解
算法·哈希算法
GIOTTO情23 分钟前
基于 NLP 情感加权算法的智能舆情处置系统架构与落地实现
人工智能·算法·自然语言处理
玖玥拾26 分钟前
C/C++ 基础笔记(六)
c语言·c++·内存管理
无风听海27 分钟前
PKCE 的 S256 算法深度剖析:从协议设计到密码学原理
javascript·网络·算法·密码学