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

贪心----4.划分字母区间

763. 划分字母区间 - 力扣(LeetCode)

/**

        首先遍历一遍字符串,记录每个字符最后出现的位置(不断迭代字符出现的位置即可)

        再次遍历字符数组,维护一个变量end,代表已出现元素最后一个位置,

        当end == i时,代表当前所有已经出现元素都囊括其中

*/

class Solution {/**首先遍历一遍字符串,记录每个字符最后出现的位置(不断迭代字符出现的位置即可)再次遍历字符数组,维护一个变量end,代表已出现元素最后一个位置,当end == i时,代表当前所有已经出现元素都囊括其中*/private List<Integer> result = new ArrayList<>();public List<Integer> partitionLabels(String s) {//将字符串转化为字符数组,便于得出字符出现的位置char c[] = s.toCharArray();//用于记录元素最后出现位置int lastIndex[] = new int[26];//遍历字符数组,得出每个元素最后出现位置for(int i = 0; i < c.length; i++) {lastIndex[c[i] - 'a'] = i;}//再次遍历字符数组,维护一个变量end,记录已出现元素的最后一个位置,int end = 0,start = 0;for(int i = 0; i < c.length; i++) {//已出现元素的最后一个位置end = Math.max(end,lastIndex[c[i] - 'a']);//当end == i时,代表当前所有已经出现元素都囊括其中,即得出一个片段if(end == i) {result.add(end - start + 1);start = end + 1; //下一个片段的开始位置}}return result;}
}

http://www.xdnf.cn/news/1288765.html

相关文章:

  • 【科研绘图系列】R语言绘制特定区域颜色标记散点图
  • Seata深度剖析:微服务分布式事务解决方案
  • 自然语言处理( NLP)基础
  • docker-compose搭建 redis 集群
  • Gartner 《IAM for LLM-Based AI Agents》学习心得
  • archlinux中VLC无法播放视频的解决办法
  • 【AI生成+补充】高频 hql的面试问题 以及 具体sql
  • ARM芯片架构之CoreSight SoC-400 组件介绍
  • dag实现案例 02、实现简易版dag调度系统(基于01之上升级)
  • C语言—数组和指针练习题合集(二)
  • python调研本地 DeepSeek API的例子
  • IIS Express中可以同时加载并使用.net4.0和.NET 2.0的 DLL
  • 还在用PUT更新局部数据?Jakarta REST 4.0 的“合并补丁”,优雅!
  • 【element树组件】el-tree实现连接线及hover编辑效果
  • Java进阶学习之不可变集合
  • Ubuntu与Rocky系统安装Java全指南
  • 《软件工程导论》实验报告一 软件工程文档
  • 基于LLVM的memcpy静态分析工具:设计思路与原理解析(C/C++代码实现)
  • Life:Internship in OnSea Day 50, 51
  • 11. React组件插槽用法
  • Flink Python API 提交 Socket 数据源的 WordCount 作业
  • uni-app实战教程 从0到1开发 画图软件 (学会画图)
  • Flutter UI Kits by Olayemi Garuba:免费开源的高质量UI组件库
  • nvm install 14.21.3 时npm 无法下载和识别
  • -bash: ./restart.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
  • 1.Ansible 自动化介绍
  • 串口通信“第二次总超时”的复盘
  • ETCD备份
  • aspose word for java 使用书签进行内容填充和更新
  • SM4对称加密算法的加密模式介绍