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;
    }
};
相关推荐
揽星河..1 小时前
【C语言】猜数字游戏
c语言·算法·游戏
LabVIEW开发2 小时前
CTM-3 红外测温仪 + LabVIEW 温度怎么测?
算法·labview·测试·labview程序
纪念 2292 小时前
C++算法(六)
开发语言·c++·算法
释厄6232 小时前
AI 军备竞赛悖论——为 AI 卖游戏但 AI 需要游戏母场景
人工智能·游戏·kotlin
Dumbness3 小时前
UIA 读微信群消息没有 id,怎么判断哪条是新的:后缀对齐在翻历史和撤回时整屏重报
python·算法
taka3 小时前
从 24x 到 141x:我用纯 Python 零依赖项目,扒开了 GPU 加速的性能黑洞
算法
UIU1144 小时前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯
旖旎夜光4 小时前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
像风一样自由20204 小时前
2.如何用FastAPI把一个Python算法封装成HTTP服务
python·算法·fastapi
D e re k ZH4 小时前
保序回归:从 PAVA 到可并堆的单调约束优化
c++·算法·数据挖掘·回归·kotlin