【LeetCode热题100】【贪心算法】划分字母区间

news/2024/10/18 8:26:33/

题目链接:763. 划分字母区间 - 力扣(LeetCode)

要将一个字符串划分为多个子串,要求每个字母只能出现在一个子串里面

如果一个字母的当前位置是它在这个字符串里面最后一次出现的位置,那么这里就应该划分出来成为子串

可以先用一个数组记录每个字母的最后出现的位置,然后再次遍历字符串,如果当前字母的位置就是该字母最后出现的位置,那么此处应该分离

class Solution {
public:vector<int> partitionLabels(string s) {int last[26];for (int i = 0; s[i]; ++i)last[s[i] - 'a'] = i;int begin = 0, end = 0;vector<int> ans;for (int i = 0; s[i]; ++i) {end = max(end, last[s[i] - 'a']);if (i == end) {ans.push_back(end - begin + 1);begin = end + 1;}}return ans;}
};


http://www.ppmy.cn/news/1432265.html

相关文章

ASGI Server之hypercorn

官方文档 简介 产生背景 Hypercorn最初是Quart(一款异步python微框架)的一部分&#xff0c;后来被分离成一个独立的ASGI服务器。Hypercorn从Quart的0.5.0版本分叉。 结构 Hypercorn是一款基于sans-io hyper、h11、h2和wsproto库的ASGI网络服务器&#xff0c;其灵感来自Gun…

Spring Boot定义类处理API通用返回数据

枚举类AppHttpCodeEnum package com.yutu.common.core.constant;public enum AppHttpCodeEnum {SUCCESS(200, "操作成功"), // 成功段0REQUEST_NOT_FOUND(404, "请求不存在&#xff01;"),HTTP_BAD_METHOD(405, "请求方式不支持&#xff01;"),…

类和对象(2)——封装(封装的概念、包、staic)

前言 面向对象程序三大特性&#xff1a;封装、继承、多态。而类和对象阶段&#xff0c;主要研究的就是封装特性。何为封装呢&#xff1f;简单来说就是套壳屏蔽细节。 一、什么是封装 1.1 概念 将数据和操作数据的方法进行有机结合&#xff0c;隐藏对象的属性和实现细节&…

成长工作思考

前言 这一篇&#xff0c;不是技术博客&#xff0c;而是个人发展的一些思考和总结&#xff0c;复盘才会做的更好&#xff0c;成长的道路当然不是随着时间推移 开场白 不劳而获的是时间&#xff0c;完全免费的&#xff0c;但是免费的同时也是最贵的。向前看仿佛时间悠悠无边&a…

SLICEM是如何将查找表配置为分布式RAM/移位寄存器的

1.首先说SliceM和SliceL如何配置为ROM的 一个SLICE包含4个六输入查找表&#xff0c;因此每个查找表就能存储64bit的数据&#xff0c;要实现128bit的ROM&#xff0c;只需要通过两个LUT就可实现&#xff0c;具体如下表: 2.如何配置成为分布式RAM SLICEM中的LUT如下图&#xff…

力扣:141. 环形链表

力扣&#xff1a;141. 环形链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾…

Linux之安装Nginx

目录 传送门前言一、快速安装二、反向代理语法1、基本语法2、location语法1. 基本语法2. 匹配规则3. 修饰符4. 权重5. 嵌套location6. 其他指令7.案例 三、配置反向代理 传送门 SpringMVC的源码解析&#xff08;精品&#xff09; Spring6的源码解析&#xff08;精品&#xff0…

C++/Qt 小知识记录5

工作中遇到的一些小问题&#xff0c;总结的小知识记录&#xff1a;C/Qt 小知识5 Windows下查看端口占用情况C调用Python三方库测试库有没有被加上的测试方法初始化使用Python的env环境&#xff0c;用Py_SetPythonHome设置GDAL相关的&#xff0c;需要把osgeo、rasterio的路径加入…