代码随想录 Leetcode763. 划分字母区间

这篇具有很好参考价值的文章主要介绍了代码随想录 Leetcode763. 划分字母区间。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

代码随想录 Leetcode763. 划分字母区间,# leetcode ---medium,算法,leetcode,贪心算法文章来源地址https://www.toymoban.com/news/detail-831516.html


代码(首刷看解析 2024年2月18日):

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

到了这里,关于代码随想录 Leetcode763. 划分字母区间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【LeetCode题目详解】第八章 贪心算法 part05 435. 无重叠区间 763.划分字母区间 56. 合并区间 (day36补)

    给定一个区间的集合  intervals  ,其中 intervals[i] = [starti, endi]  。返回 需要移除区间的最小数量,使剩余区间互不重叠  。 示例 1: 示例 2: 示例 3: 提示: 1 = intervals.length = 105 intervals[i].length == 2 -5 * 104 = starti  endi = 5 * 104 相信很多同学看到这道题目都冥冥之中感觉要排序,但

    2024年02月11日
    浏览(28)
  • 【Leetcode60天带刷】day35——452. 用最少数量的箭引爆气球,435. 无重叠区间,763.划分字母区间

    ​ 452. 用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组  points  ,其中 points[i] = [xstart, xend]  表示水平直径在  xstart  和  xend 之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点  完全垂直  

    2024年02月11日
    浏览(43)
  • 代码随想录第6天| 哈希表理论基础 ,LeetCode242.有效的字母异位词,LeetCode349. 两个数组的交集,LeetCode202. 快乐数,LeetCode1. 两数之和

    哈希表(散列表)理论基础 : 哈希表是根据关键码的值而直接进行访问的数据结构。 直白来讲其实数组就是一张哈希表。   什么时候想到用哈希法, 当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法 。 当我们遇到了要快速判断一个元素是否出现集

    2024年02月10日
    浏览(39)
  • 代码随想录补打卡 56 合并区间

    56 合并区间  代码如下 func merge(intervals [][]int) [][]int {         sort.Slice(intervals,func(i,j int)bool{  //将数组按左边界的大小排序         return intervals[i][0]intervals[j][0]     })     res := make([][]int,0) //定义一个目标数组     res = append(res,intervals[0])  //先将数组的第

    2024年02月02日
    浏览(30)
  • day78【代码随想录】区间DP专题

    1、多边形三角剖分的最低得分 2、猜数字大小 II 3、让字符串成为回文串的最少插入次数 4、切棍子的最小成本 5、戳气球 6、合并石头的最低成本 分析: 大佬详细题解 分析: 这一段题解是灵魂! 大佬题解 类似于算法书中的矩阵连乘问题 分析: 跟判断回文串思路一样,但是

    2023年04月13日
    浏览(29)
  • 【代码随想录-哈希表】有效的字母异位词

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月21日
    浏览(32)
  • 代码随想录阅读笔记-回溯【电话号码的字母组合】

    题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:\\\"23\\\" 输出:[\\\"ad\\\", \\\"ae\\\", \\\"af\\\", \\\"bd\\\", \\\"be\\\", \\\"bf\\\", \\\"cd\\\", \\\"ce\\\", \\\"cf\\\"]. 说明:尽管上面的答案是按字典序排列的,但是你可以任意

    2024年04月13日
    浏览(27)
  • DAY35 435. 无重叠区间 + 763.划分字母区间 + 56. 合并区间

    题目要求:给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区间没

    2024年02月08日
    浏览(26)
  • 【贪心算法part05】| 435.无重叠区间、763.划分字母区间、56.合并区间

    目录 🎈LeetCode435. 无重叠区间   🎈LeetCode763.划分字母区间 🎈LeetCode 56.合并区间 链接:435.无重叠区间 给定一个区间的集合  intervals  ,其中  intervals[i] = [starti, endi]  。返回  需要移除区间的最小数量,使剩余区间互不重叠  。    链接:763.划分字母区间 给你一个字符串

    2024年02月16日
    浏览(33)
  • 代码随想录22| 216.组合总和III, 17.电话号码的字母组合

    题目链接/文章讲解:链接地址 视频讲解:链接地址 代码思路:回溯三部曲: 1.确定函数参数:n,k,sum,startIndex; 2.结束条件,path == k,并且如果sum==n 结束递归 3.递归回溯逻辑。 题目链接/文章讲解:链接地址 视频讲解:链接地址 代码思路:传入参数:输入的数字,第几个数字的

    2024年02月11日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包