当前位置: 首页 > news >正文

划分字母区间【贪心算法】

  1. 划分字母区间
    给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。
    注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。返回一个表示每个字符串片段的长度的列表。
    在这里插入图片描述
    参考下图:
    1.确定每个元素的最远距离索引
    2.遍历过程若当前索引等于当前遍历路径的最大索引时,说明找到了一个符合要求的子串。

在这里插入图片描述

class Solution {public List<Integer> partitionLabels(String s) {int[] hash = new int[26];//26个字母范围内char[] chars = s.toCharArray();//将字符串转化为字符数组,便于遍历操作for (int i = 0; i < chars.length; i++) {hash[chars[i] - 'a'] = i;//记录遍历过每个元素出现位置的最远距离对应的下标索引} int left = 0;//初始化第一个子串的起点int idx = 0;//记录路径上遍历元素最远距离的索引,初始化未0LinkedList<Integer> res = new LinkedList<>();//用链表存储有序的整数值for (int i = 0; i < chars.length; i++) {idx = Math.max(idx, hash[chars[i] - 'a']);//当前元素最远出现边界,遍历并取当前路径上最大的进行记录if (i == idx) {//找到了符合条件的res.add(idx - left + 1);//返回满足条件子串的长度left = i + 1;//更新下一个子串的起点}}return res;}
}

相关文章:

划分字母区间【贪心算法】

划分字母区间 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。返回一个表示每个字符串片段的长度的列表。…...

低代码的探索之路

Gartner发布报告指出&#xff0c;2023年全球低代码开发平台市场规模将达到345亿美元&#xff0c;比2022年增长20%。 目前&#xff0c;国内外已经有许多低代码平台&#xff0c;包括OutSystems、Mendix、Appian、Microsoft Power App等。这些平台提供了丰富的功能和工具&#xff…...

easyUI combobox不可手动输入和禁用

combobox //下拉可用 $("#selectId").combobox(enable); //下拉不可用 $("#selectId").combobox(disable); //该元素可用 $("#selectId").combobox({ disabled: false }); //该元素不可用 $("#selectId").combobox({ disabled: tru…...

RV64和ARM64栈结构差异

RV64和ARM64栈结构差异 1 RV64和ARM64栈结构差异示意图1.1 RV64和ARM64寄存器介绍1.1.1 RV64寄存器1.1.2 ARM64寄存器 1.2 RV64和ARM64栈结构差异示意图 2 RV64和ARM64栈使用示例2.1 测试的程序2.2 RV64反汇编的汇编程序2.3 ARM64反汇编的汇编程序2.4 RV64和ARM64测试程序的栈结…...

将 Python 与 RStudio IDE 配合使用(R与Python系列第一篇)

目录 前言&#xff1a; 1-安装reticulate包 2-安装Python 3-选择Python的默认版本&#xff08;配置Python环境&#xff09; 4-使用Python 4.1 运行一个简单的Python脚本 4.2 在RStudio上安装Python模块 4.3 在 R 中调用 Python 模块 4.4 在RStudio上调用Python脚本写的…...

数据库访问性能优化

目录 IO性能分析数据库性能优化漏斗法则1、减少数据访问&#xff08;减少磁盘访问&#xff09;(1) 正确的创建并使用索引索引生效场景索引失效场景判断索引是否生效--执行计划 2、返回更少数据&#xff08;减少网络传输或磁盘访问&#xff09;(1) 数据分页处理(减少行数)客户端…...

vue 预览 有token验证的 doc、docx、pdf、xlsx、csv、图片 并下载

预览 doc我也不会 //docx <div v-if"previewType docx" ref"iframeDom" style"border: none; width: 100%; height: 100%"></div> import { renderAsync } from "docx-preview"; let iframeDom: any ref(); axios({url…...

WPF数据视图

将集合绑定到ItemsControl控件时&#xff0c;会不加通告的在后台创建数据视图——位于数据源和绑定的控件之间。数据视图是进入数据源的窗口&#xff0c;可以跟踪当前项&#xff0c;并且支持各种功能&#xff0c;如排序、过滤、分组。 这些功能和数据对象本身是相互独立的&…...

C++ new/delete 与 malloc/free 的区别?

new/delete 与 malloc/free 的区别&#xff1f; 分配内存的位置 malloc是从堆上动态分配内存new是从自由存储区为对象动态分配内存。自由存储区的位置取决于operator new的实现。自由存储区不仅可以为堆&#xff0c;还可以是静态存储区&#xff0c;这都看operator new在哪里为…...

【数学建模】常微分,偏微分方程

1.常微分方程 普通边界 已知t0时刻的初值 ode45() 龙格-库塔法 一阶&#xff0c;高阶都一样 如下: s(1) y , s(2)y s(3) x , s(4)x //匿名函数 下为方程组 核心函数 s_chuzhi [0;0;0;0]; //初值 分别两个位移和速度的初值 t0 0:0.2:180; f (t,s)[s(2);(…...

浙大数据结构之09-排序1 排序

题目详情&#xff1a; 给定N个&#xff08;长整型范围内的&#xff09;整数&#xff0c;要求输出从小到大排序后的结果。 本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下&#xff1a; 数据1&#xff1a;只有1个元素&#xff1b;数据2&#xf…...

Pydantic 学习随笔

这里是零散的记录一些学习过程中随机的理解&#xff0c;因此这里的记录不成体系。如果是想学习 Pydantic 建议看官方文档&#xff0c;写的很详细并且成体系。如果有问题需要交流&#xff0c;欢迎私信或者评论。 siwa 报 500 Pydantic 可以和 siwa 结合使用&#xff0c;这样既…...

11 mysql float/double/decimal 的数据存储

前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 float, decimal 类类型的相关数据…...

【高效数据结构——位图bitmap】

初识位图bitmap 位图&#xff08;Bitmap&#xff09;是一种用于表示和操作位&#xff08;bit&#xff09;的数据结构。它是由一系列二进制位&#xff08;0 或 1&#xff09;组成的序列&#xff0c;每个位都可以单独访问和操作。 位图常用于以下情况&#xff1a; 压缩存储&…...

ArrayList LinkedList

ArrayList 和 LinkedList 区别 ArrayList和LinkedList都是Java集合框架中的实现类&#xff0c;用于存储和操作数据。它们在底层实现和性能特点上有一些区别。 数据结构&#xff1a;ArrayList底层使用数组实现&#xff0c;而LinkedList底层使用双向链表实现。这导致它们在内存结…...

iOS砸壳系列之三:Frida介绍和使用

当涉及从App Store下载应用程序时&#xff0c;它们都是已安装的iOS应用&#xff08;IPA&#xff09;存储在设备上。这些应用程序通常带有保护的代码和资源&#xff0c;以限制用户对其进行修改或者逆向工程。 然而&#xff0c;有时候&#xff0c;为了进行调试、制作插件或者学习…...

Git学习——细节补充

Git学习——细节补充 1. git diff2. git log3. git reset4. git reflog5. 提交撤销5.1 当你改乱了工作区某个文件的内容&#xff0c;想直接丢弃工作区的修改时5.2 当提交到了stage区后&#xff0c;想要退回 6. git remote7. git pull origin master --no-rebase8. 分支管理9. g…...

【设计模式】Head First 设计模式——装饰者模式 C++实现

设计模式最大的作用就是在变化和稳定中间寻找隔离点&#xff0c;然后分离它们&#xff0c;从而管理变化。将变化像小兔子一样关到笼子里&#xff0c;让它在笼子里随便跳&#xff0c;而不至于跳出来把你整个房间给污染掉。 设计思想 动态地将责任附加到对象上&#xff0c;若要扩…...

layui实现数据列表的复选框回显

layui版本2.8以上 实现效果如图&#xff1a; <input type"hidden" name"id" id"id" value"{:g_val( id,0)}"> <div id"tableDiv"><table class"layui-hide" id"table_list" lay-filter…...

关于使用RT-Thread系统读取stm32的adc无法连续转换的问题解决

关于使用RT-Thread系统读取stm32的adc无法连续转换的问题解决 今天发现rt系统的adc有一个缺陷&#xff08;也可能是我移植的方法有问题&#xff0c;这就不得而知了&#xff01;&#xff09;&#xff0c;就是只能单次转换&#xff0c;事情是这样的&#xff1a; 我在stm32的RT-T…...

嵌入式核心板选型实战:从AI加速到工业控制的设计权衡与趋势

1. 展会现场与行业风向初探上周&#xff0c;我作为飞凌嵌入式的一名老员工&#xff0c;亲身参与了2024上海国际嵌入式展。这不仅仅是一次公司产品的展示&#xff0c;更像是一场行业技术趋势的集中检阅。从人头攒动的展台到同行间热烈的技术交流&#xff0c;你能清晰地感受到&am…...

天勤 get_account 资金字段读懂:下单前可用与保证金检查

前言 策略信号对了却下不出去&#xff0c;我第一反应看 get_account()&#xff1a;是 available 不够&#xff0c;还是把 balance 当可用去和保证金比了。有次模拟盘「明明没下单」却报资金不足&#xff0c;查了半天是字段读错&#xff1b;还有一次夜盘加仓&#xff0c;白天算好…...

不跨界,现有的地盘就会被别人用跨界的方式蚕食掉

微软这么多员工养着&#xff0c;有时也不得不多个行业发展&#xff0c;就像是美团一样&#xff0c;不得不电商也做起来和京东抢生意。阿里也同时多个行业做着&#xff0c;影视&#xff0c;外卖&#xff0c;生鲜。否则纯电商做不下去就完了。就像是华为一样本来可以卖AI服务器&a…...

Anthropic Managed Agents架构解析:Session日志化与沙箱凭证安全

1. 项目概述&#xff1a;一场被包装成“创新发布”的基础设施防御战你打开技术资讯推送&#xff0c;看到标题《Anthropic Just Shipped the Layer That’s Already Going to Zero》——不是夸张修辞&#xff0c;是字面意义上的精准判断。这不是某家初创公司押中风口的庆功宴&am…...

技术人准备英文面试:除了刷题,这五个表达习惯更关键

许多软件测试工程师在准备英文面试时&#xff0c;往往会陷入一个误区&#xff1a;将大量时间花在背诵专业术语&#xff08;如“Equivalence Partitioning”、“Regression Testing”&#xff09;&#xff0c;或者在技术问答环节机械地复述测试用例的设计逻辑。诚然&#xff0c;…...

2026武汉美术艺考培训机构排名出炉,家长择校必看!

在美育教育持续受重视的背景下&#xff0c;美术高考成为众多学子升学的重要渠道。武汉作为华中美育核心城市&#xff0c;美术培训机构已超 300 家&#xff0c;市场竞争激烈。据湖北省教育考试院 2026 年湖北美术联考数据&#xff0c;全省美术考生超 1.8 万人&#xff0c;武汉占…...

成都制造企业SRM和ERP数据对不上,AI协同先治理什么?

系统都上线了&#xff0c;为什么协同还是慢不少成都制造企业已经有ERP&#xff0c;也陆续上了SRM、WMS、MES或QMS。采购订单在线审批&#xff0c;供应商可以在SRM里报价&#xff0c;仓库可以扫码入库&#xff0c;质量部门也有检验记录。可一到真实协同&#xff0c;问题仍然反复…...

深入理解关系数据库三范式

一、范式化设计的意义非规范化的数据库可能导致&#xff1a;数据冗余&#xff1a;相同数据在多处重复存储&#xff08;如用户姓名在订单表、日志表重复出现&#xff09;更新异常&#xff1a;修改一处数据需同步更新多处&#xff0c;易遗漏引发数据不一致插入/删除异常&#xff…...

C++学习笔记23:const 成员函数

目录 一、为什么需要 const 成员函数&#xff1f; 二、const 成员函数的写法 三、const 修饰的到底是什么&#xff1f; 四、const 成员函数不能修改成员变量 五、const 对象和普通对象的调用规则 1. const 对象只能调用 const 成员函数 2. 普通对象可以调用 const 成员函…...

【顶级EI复现】考虑用户行为基于扩散模型的电动汽车充电场景生成( Python + PyTorch代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 &#x1f381…...