leetcode 763 未来跳跃游戏

这个题目挺抽象的,翻译成人话:

把字符串切成尽可能多的片段,满足一条铁律:

铁律(必须严格满足):同一个字母,只能出现在同一个片段里,绝对不能跨片段。

这个题目,我们先记录一下每个字母能到的最远位置,然后遍历,记录我们必须到达的最远位置,到了后就停。和跳跃游戏不同的是,由于我们已经能预知未来,所以直接和his_mx比就行,有所不同,多做多t体会~

cpp 复制代码
class Solution {
public:
    vector<int> partitionLabels(string s) {
        int n = s.size();
        vector<int> far(26, 0), ans;
        for(int i=0;i<n;i++)
        {
            far[s[i] - 'a'] = i;
        }

        int his_mx = 0, mx = -1;
        for(int i=0;i<n;i++)
        {
            his_mx = max(far[s[i]-'a'], his_mx);

            if(i == his_mx)
            {
                ans.push_back(his_mx-mx);
                mx = his_mx;
            }
        }

        return ans;
    }
};
相关推荐
wa的一声哭了16 小时前
Mit6.s081 Interrupts and device driver(中断和设备驱动)
linux·服务器·arm开发·数据库·python·gpt·算法
luyun02020216 小时前
实用小工具,吾爱出品
开发语言·c++·算法
NNYSJYKJ16 小时前
K12 学习常见问题破解:脑能思维链的算法与教育应用
学习·算法
2301_7890156216 小时前
Linux:基础指令(二)
linux·运维·服务器·c语言·开发语言·c++·算法
开开心心就好16 小时前
支持添加网址的资源快速打开工具
人工智能·学习·游戏·音视频·hbase·语音识别·storm
闻缺陷则喜何志丹16 小时前
【区间合并】P7912 [CSP-J 2021] 小熊的果篮|普及+
c++·算法·洛谷·区间合并
栈溢出了17 小时前
GIN学习笔记
人工智能·神经网络·算法·机器学习·gin
chenyuhao202417 小时前
AI agent 开发之嵌入模型和提示词 前置知识
人工智能·深度学习·算法·langchain·agent·ai应用开发
靠沿17 小时前
【递归、搜索与回溯算法】专题六——记忆化搜索
算法
AI机器学习算法19 小时前
机器学习基础知识
数据结构·人工智能·python·深度学习·算法·机器学习·ai学习路线