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;
    }
};
相关推荐
罗湖老棍子2 小时前
A Horrible Poem(信息学奥赛一本通- P1460) [POI 2012] OKR-A Horrible Poem(洛谷-P3538)
算法·哈希·欧拉筛·错位重叠
聊点儿技术2 小时前
游戏分服总跨大区:如何用IP精准定位服务避免跨运营商分配?
tcp/ip·游戏·游戏安全·ip定位·ip离线库·ip精准定位·ip地址定位api
程序员爱德华2 小时前
LeetCode刷题
算法·leetcode
memcpy02 小时前
LeetCode 1202. 交换字符串中的元素【无向图连通分量】中等
算法·leetcode·职场和发展
fengfuyao9852 小时前
基于遗传算法的分布式电源选址定容优化(考虑环境因素)
算法·matlab·平面
睡觉就不困鸭2 小时前
第10天 删除有序数组中的重复项
数据结构·算法
串流游戏联盟2 小时前
魔兽世界12.0.5新版本更新速览,版本重点及职业改动速报!
游戏
Chase_______2 小时前
LeetCode 643:子数组最大平均数 I
算法·leetcode
笨笨饿2 小时前
#65_反激电源
stm32·单片机·嵌入式硬件·算法·硬件工程·个人开发